JSP和servlet的一些资料

1 解释名词

servlet:服务器端的小程序 用于接收数据、处理请求、给与响应的java模板类
jsp:Java server page   Java服务器端页面,是动态资源 jsp=html+js+css+java片段+jsp标签
filter:过滤器 对一个或者一类请求进行拦截 根据条件选择放行
listener:监听器 监听域对象的某一个事件+监听器中的代码时被动执行的
session:由服务器创建和保存 但依赖于名为JSESSION的cookie的 用于保存会话数据的对象
cookie:由服务器创建,客户端保存,并通过请求头和响应头传递的键值对对象,用于保存会话数据
request:请求
response:响应
el:(Expression Language)el表达式 为了使得jsp写起来更简单 ---来替代<%= %>在页面显示变量的值
jstl:jsp标准标签库,提供标签替换jsp页面的java代码,提高程序可读性,降低维护难度 ---el表达式的扩展

2 http及http协议的分类,http的格式,http常见的请求头和响应头

http:超文本传输协议 一种基于请求/响应模式的、无状态的、互联网传输协议

分类:
	互联网传输协议:客户端与服务器端进行数据传输时,必须遵守的数据格式
	请求协议:客户端给服务器端进行数据传输时,必须遵守的数据格式
	响应协议:服务器端给客户端响应的信息,需要遵守的数据格式

格式:
1 请求格式:
	请求首行
	请求头
	空行
	请求体
2 响应格式:
	响应首行
	响应头
	空行
	响应体
	
http常见的请求头:
	Host:
	User-Agent:
	Accept:
	Accept-Language:
	Accept-Encoding:
	Connection:
	
http常见的响应头:
	Accept-Ranges:
	Content-Length:
	Content-Type:
	Date:
	
Http状态码:
	200:成功
	304:使用浏览器缓存
	302:重定向
	404:请求资源路径错误
	405:doGet/doPost方法没有别重写
	500:服务器端代码错误

3 session和cookie的区别!

cookie:符合http协议规范的 由服务器创建 客户端保存的 通过请求头和响应头传递的键值对对象
session:由服务器端创建和保存的 但依赖于名为JSESSION的cookie的 用于保存会话数据的对象

相同之处:
	1 都是解决http无状态的会话跟踪技术
	2 都是服务器端创建 都依赖于http协议的请求头和响应头
	
不同之处:
	1 保存位置不同
		cookie由服务器端保存
		session由服务器端保存
	2 默认有效时间不同
		cookie生命周期默认是浏览器内存
		session默认的请求间隔是30分钟
	3 存储容量不同
		cookie单个数据<=4kb 单个站点只能有20个cookie
		session没有限制
	4 隐私策略不同
		cookie对客户端可见 不安全
		session对客户端是透明的 不存在敏感信息的安全问题
	5 依赖关系
		session依赖名为JSESSION的cookie
	6 保存的数据格式
		cookie只能保存ASICC码信息+二进制
		session可以保存任意数据

4 jsp标签分类 及其作用

jsp指令标签:给整个jsp设置属性
	page指令标签:给当前jsp页面设置属性
	include指令标签:静态包含
	taglib指令标签:引入第三方标签库
jsp动作标签:在jsp页面实现指定功能的标签:请求转发+请求包含+域属性的增删改查
	forward动作标签:请求转发
	include动作标签:请求包含,动态包含
	useBean动作标签:创建域属性及赋值

5 jsp的九大内置对象名称类型及其作用

jsp九大内置对象:jsp对应的servlet自动创建好的九个对象:方便jsp的直接使用
	1 request:HttpServletRequest类型:封装与请求相关的所有数据
		作用: a:获取请求参数
			  b:获取请求头
			  c:作为域对象 实现请求链之间的数据共享
			  d:请求转发 请求包含
			  e:其他功能
	2 response:HttpServletResponse类型:封装与响应相关的所有内容
		作用: a:设置响应头
			  b:设置响应体
			  c:重定向
			  d:其他功能
	3 page:HttpServlet类型:当前servlet对象
	4 application:ServletContext类型:上下文对象
	5 session:HttpSession类型:会话对象
	6 pageContext:PageContext类型 当前页面数据共享,获取其他8个内置对象
	7 out:PrintWriter类型:response的打印输出流
	8 config:ServletConfig类型:配置信息,servlet-name url-pattern
	9 exception:Throwable类型:错误界面捕获到的异常对象

6 el表达式的十一大内置对象名称类型及其作用

el表达式:为了使jsp书写更简单 用以替换<%= %>在页面显示变量的值

el的11大内置对象:
	1~4 域对象:
		pageScope:PageContext域对象
		requestScope:request域对象
		sessionScope:session域对象
		applicationScope:application域对象
	5~6 获取请求参数
		param:获取单值请求参数
		paramValues:获取多值请求参数
	7~8 获取请求头
		header:获取单值请求头
		headerValues:获取多值请求头
	9 获取cookie
	10 获取项目的初始化参数
	11 PageContext:PageContext对象

7 servlet的生命周期和filter的生命周期

servlet中有init、service、destory方法,这几个方法是servlet生命周期的相关方法:
servlet第一次被访问时就会被实例化,只要servlet一被实例化就会执行init方法(init方法只会执行一次);任何一个从客户端发出的请求,servlet中的service方法都会执行(在service方法的内部根据请求的方式不同调用doXxx方法);当servlet从服务器中移除或者关闭时,servlet对象被销毁,里面的destory方法就会被执行,然后垃圾回收就会将其回收处理。
filter中也是init、service、destory方法,可以对访问权限进行控制
filter在tomcat启动时就会创建filter单例对象;filter对象一经创建,tomcat就会调用filter的init方法,对filter进行实例化;每次filter配置的url被请求一次,tomcat就会调用filter对象的doFilter方法来拦截请求,然后通过FilterChain的doFilter方法来选择放行请求;tomcat在关闭前,会调用filter对象的destory方法,来销毁对象,释放内存。

8 listener的分类及其作用

listener:监听器 监听域对象的某一个事件,当此事件发生时,就会执行相应的代码

listener分类:
	域属性监听器:监听request/session/servletContext的属性的 增删改:crud
	域对象的生死监听器:监听request/session/servletContext对象的创建与销毁

9 request对象和response对象的作用 及其主要方法

我们开发的软件是b/s结构的软件,可以通过浏览器访问服务器的软件,从浏览器输入一个地址访问服务器(将这个过程成为请求),服务器接收到请求,需进行处理,处理之后需要将处理结果显示回浏览器端(将这个过程称为响应)。

request对象:将浏览器向服务器发送的数据的封装
	request获得客户机的信息
		获得请求的方式:String getMethod() 
 		获取请求路径的url和uri:String getRequestURI()  
 							 StringBuffer getRequestURL() 
 		获取客户端的IP地址:String getRemoteAddr() 
 	request获得请求头的方法
 		获得单值value的请求头:String getHeader(String name)  
 		获得多值value的请求头:Enumeration getHeaders(String name) 
		获得所有请求头名称:Enumeration getHeaderNames() 
	request获得请求参数的方法
		获得单值请求参数:String getParameter(String name) 
    	获得多值请求参数:Map getParameterMap() 
 		获得多值请求参数的value值:String[] getParameterValues(String name)  
	request作为域对象存取数据的方法
		向request域中存储数据:void setAttribute(String name, Object o)  
		从request域中获取数据:Object getAttribute(String name) 
		从request域中移除数据:void removeAttribute(String name) 
response对象:将服务器向浏览器发送数据的封装
	response响应首行设置响应的状态码:void setStatus(int sc, String sm) 设置状态码没啥意义
	response响应头设置响应头  set开头的方法:一个key对应一个value,set等同于重写valule
						   add开头的方法:一个key对应多个value,add等同于value加上一个新的value
	response响应体设置响应体:::在页面输出内容
						ServletOutputStream getOutputStream()   ---字节流				  
						PrintWriter getWriter()  				---字符流
	response重定向:void sendRedirect(String location) 
 	response设置响应的字符流缓冲区字符集:void setCharacterEncoding(String charset) 
   	response设置浏览器打开页面时采用的的字符集:void setContentType(String type) 
 	response服务器向浏览器回写cookie的方法:void addCookie(Cookie cookie) 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值