16-JSP基础
JSP概念Java Server Pages:Java服务器端页面,在该页面中既可以定义Java代码,也可以定义html标签,主要用于简化书写
12345678910<%@ page contentType="text/html;charset=UTF-8" language="java" %><html> <head> <title>测试用例</title> </head> <body> <%System.out.println("hello JSP!");%> <p>hi JSP!</p> </body></html>
原理JSP本质上还是Java中的Servlet,因为只有Servlet能够提供文件访问
JSP脚本JSP中共有三种定义Java代码的方法,每种定义方法均有不同作用,经过编译并形成最终的.class文件时自动生成的位置也不相同
1234 ...
15-会话技术与Cookie
会话技术会话一次会话中包含多次请求和相应,浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止,会话结束
功能再一次会话范围内的多次请求间共享数据
方式
客户端会话技术:Cookie
服务器端会话技术:Session
Cookie概念:客户端会话技术,将数据保存到客户端
主要步骤:
创建Cookie对象,绑定数据
new Cookie(String name,String value)
发送Cookie对象
response.addCookie(Cookie cookie)
获取Cookie对象,拿到数据(getCookies方法获取全部Cookie并返回数组)
request.getCookies()
创建Cookie与发送12345678910111213@WebServlet("/CookieServlet")public class CookieServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpSer ...
14-下载案例
下载案例HTML文件12345678910111213141516<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><!--定义超链接跳转到对应的Servlet并且携带文件名参数--><a href="/DownloadTest/downloadServlet?filename=1.jpg">点击下载图片1</a><br><a href="/DownloadTest/downloadServlet?filename=2.jpg">点击下载图片2</a><br><a href="/DownloadTest/downloadServlet?filename=3.jpg&q ...
13-ServletContext
ServletContext对象概念代表整个web应用,可以和程序的容器进行通信
ServletContext对象的获取
通过request对象获取:getServletContext()
通过HttpServlet获取:getServletContext()
1234567891011121314151617@WebServlet("/servletContextDemo1")public class ServletContextDemo1 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //通过request直接获取 ServletContext sc1=request.getServletContext(); //通过HttpServlet获取 S ...
12-Request对象+Response对象
Request对象request对象和response对象原理
request对象和response对象是由服务器创建的,供程序员使用的对象
request对象是来获取请求信息的,response对象是来设置响应消息的
浏览器&服务器请求响应过程
Request功能获取请求消息数据
获取请求行数据
String getMethod():获取请求方式GET/POST
String getContextPath():获取虚拟目录
String getServletPath():获取Servlet路径
String getQueryString():获取get方式的请求参数
String getRequestURI():获取请求URI(不包含协议和IP地址)
StringBuffer getRequestURL():获取请求URI(包含协议和IP地址)
String getProtocol():获取协议及版本
String getRemoteAddr():获取客户机IP地址
获取请求头数据
String getHeader(String headerName):通过请求头的名称 ...
11-Http概述
Http协议,超文本传输协议(Hyper Text Transfer Protocol)传输协议概念定义了客户端和服务器端通信时,发送数据的格式
特点
基于TCP/IP的高级协议
默认端口号为80
基于请求/响应模型,即一次请求对应一次响应
无状态的:即每次请求之间相互独立,不能交互数据
请求信息数据格式
请求行
请求方式:HTTP协议种规定了7种请求方式,常用的由两种
GET:请求的参数在请求行中(即跟在URL后面),且请求的长度有限制,有安全隐患
POST:请求的参数在请求体中,请求的URL没有限制,相对安全
请求url:发出请求的URL
请求协议/版本:例如HTTP/1.1
请求头
格式:请求头名称:请求头值
User-Agent:当前浏览器的相关版本信息(可以在服务器端获取该信息,以解决浏览器兼容问题)
Referer:当前网页的来源网址(从哪个网页跳转而来)可用于防盗链或进行一些统计工作
Accept:允许接收的数据格式
Accept-Language:允许接收的语言类型
Coonection:连接状态(是否存活)
请求空行:一段空行,用于分割各组成部分
请求 ...
10-Servlet
Servlet概念运行在服务器端的小程序
Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则
基本步骤
创建JavaEE项目
定义一个类,实现Servlet接口
实现接口的抽象方法
配置Servlet(在web.xml下配置)
配置代码:123456789<!--配置Servlet--><servlet> <servlet-name>demo1</servlet-name> <servlet-class>cn.ywrby.web.servlet.ServletDemo1</servlet-class></servlet><servlet-mapping> <servlet-name>demo1</servlet-name> <url-pattern>/demo1</url-pattern></servlet-mapping>
执行原理
当服务器接受到客户端浏览器的请求后 ...
9-web服务器软件概述+Tomcat
Web服务器软件服务器概念安装了服务器软件的计算机
服务器软件概念接收用户请求,处理请求并做出响应
Web服务器软件概念服务器软件的一种,在web服务器软件中,可以部署web项目,让用户通过浏览器访问项目,又被称为web容器
常见的Java相关的web服务器软件
webLogic:oracle公司的,大型JavaEE服务器,支持所有JavaEE规范,收费。
webSphere:IBM公司,大型JavaEE服务器,支持所有JavaEE规范,收费。
JBOSS:JBOSS公司,大型JavaEE服务器,支持所有JavaEE规范,收费。
Tomcat:Apache基金组织的,中小型JavaEE服务器,仅支持少量的JavaEE规范(如:servlet/jsp)开源免费的
Tomacat
下载:https://tomcat.apache.org/
安装:解压缩文件到本地即可
卸载:删除解压文件夹
启动:bin/startup.bat双击运行
访问:浏览器输入http://localhost:8080 (本地访问方式,非本地将localhost替换为本机IP地址即可)
关闭
正常关闭:1. bin ...
8-XML概述
XML概述概念Extensible Markup Language可扩展标记语言(可扩展指XML中的所有标签都是自定义的)
功能
存储数据
做配置文件
在网络中传输
XML与HTML区别
XML标签都是自定义的,HTML标签都是预定义的
XML语法严格,HTML语法松散
XML是用来存储数据的,HTML是用来展示数据的
基本要求
xml文档的后缀名.xml
xml第一行必须定义为文档声明。例如:<?xml version="1.0" encoding="utf-8"?>
xml文档中有且仅有一个根标签
属性值必须使用引号(单双都可)引起来
标签必须正确关闭
xml标签名称区分大小写
组成部分1. 文档声明
格式:
属性列表组成
version:版本号,必须的属性
encoding:编码方式,告知解析引擎当前文档使用的字符集
standalone:是否独立(yes:不依赖其他文件,no:依赖其他文件)
2. 标签:自定义名称
3. 属性:(注意id属性值唯一)
4. 文本:由于我们保存的文本数据可能包含一些有特殊意义的字 ...
7-软件架构,资源分类
软件架构C/S(Client/Server)客户端/服务器端
在用户本地有客户端程序,在远程由服务器端程序(例如QQ,迅雷)
优点:用户体验好
缺点:开发,安装,部署,维护等十分麻烦
B/S(Browser/Server)浏览器/服务器端
只需要一个浏览器,用户就可以通过URL访问不同服务器端程序
优点:开发,安装,部署,维护等十分更简单
缺点:
如果应用过大,用户体验可能受到影响
对硬件要求高
B/S架构 资源分类静态资源使用静态网页开发技术发布的资源
特点:
所有用户访问,得到的页面完全一致
如:文本,图片,音视频,HTML,CSS,JavaScript
如果用户请求的是静态资源,服务器会直接将静态资源发送给浏览器,浏览器中内置静态资源的解析引擎,可以展示静态资源
动态资源使用动态网页技术发布的资源
特点:
所有用户访问。得到的结果可能是不一样的
如:Jsp/Servlet,php,asp
如果用户请求的是动态资源,服务器会执行动态资源,将其转换为静态资源,再发送给浏览器