JSP详解(包括Session和Cookie)
JSPJSP本质上就是一个Servlet,JSP主要负责与用户交互,将最终的界面呈现给用户,HTML+JS+CSS+Java的混合文件。当服务器接收到一个后缀是jsp的请求时,将该请求交给JSP引擎去处理,每一个JSP页面第一次被访问时,JSP引擎会将它翻译成一个Servlet文件,再由Web容器来调用Servlet完成响应。单纯从开发的角度来看,JSP就是在HTML中嵌入Java程序。具体的嵌入
# JSP
JSP本质上就是一个Servlet,JSP主要负责与用户交互,将最终的界面呈现给用户,HTML+JS+CSS+Java的混合文件。
当服务器接收到一个后缀是jsp的请求时,将该请求交给JSP引擎去处理,每一个JSP页面第一次被访问时,JSP引擎会将它翻译成一个Servlet文件,再由Web容器来调用Servlet完成响应。
单纯从开发的角度来看,JSP就是在HTML中嵌入Java程序。
具体的嵌入方式有3种:
1、JSP脚本:执行Java逻辑代码
<%
String str = "Hello World";
System.out.println(str);
%>
2、JSP声明:用来定义Java方法
<%!
public String test() {
return "Hello World!";
}
%>
3、JSP表达式:把Java对象直接输出到HTML页面中
<%=
要输出的Java变量
%>
<%!
public String test() {
return "Hello World!"
}
%>
<%
String str = test();
%>
<%=str%>
JSP内置对象9个
1、request:表示一次请求,HttpServletRequest(对应类,下同)。
2、response:表示一次相应,HttpServletResponse。
3、pageContext:页面上下文,获取页面信息,PageContext。
4、session:表示一次会话,保存用户信息,HttpSession。
5、application:表示当前Web应用,全局对象,保存所有用户共享信息,ServletContext。
6、config:当前 JSP 对应的 Servlet 的 ServletConfig 对象,获取当前 Servlet 的信息,ServletConfig。
7、out:向浏览器输出数据,JspWriter。
8、page:当前 JSP 对应的 Servlet 对象,Servlet。
9、exception:表示JSP页面发生的异常,Exception
部分定义:
会话:客户端与服务器建立的一次连接。就像打电话可能会说10句话,这10句话都属于本次会话,挂电话后会话结束。
常用的是request,response,session,application,pageContext
request常用方法:
1、String getParameter(String key) 服务器获取客户端传来的参数
2、void setAttribute(String key, Object value) 服务器通过键值对的形式来保存数据
3、Object getAttribute(String key) 服务器通过key取出value
4、RequestDispatcher getRequestDispatcher(String path) 返回一个RequestDispatcher对象,该对象的forward方法用于请求转发
5、String[] getParameterValues() 获取客户端传来的多个同名参数
6、void setCharacterEncoding(String charset) 指定每个请求的编码(中文乱码使用UTF-8即可)
状态码:
200:正常
404:资源找不到
400:请求类型不匹配(指定请求类型为GET而使用POST访问则报400)
500:程序抛出异常
response常用方法:
1、sendRedirect(String path) 重定向,页面之间的跳转
转发:getRequestDispatcher
重定向:sendRedirect
转发和重定向的区别:
转发是将同一个请求传给下一个页面,
重定向是创建一个新的请求传给下一个页面
(剩下待补)
Session(用户会话)
服务器无法识别每一次HTTP请求的出处(不知道来自于哪个终端),它只会接受到一个请求信号,所以就存在一个问题:将用户的响应发送给其他人,必须有一种技术来让服务器知道请求来自哪,这就是会话技术。
会话:就是客户端和服务器之间发生的一系列连续的请求和响应的过程,打开浏览器进行操作到关闭浏览器的过程。
会话状态:指服务器和浏览器在会话过程中产生的状态信息,借助于会话状态,服务器能够把属于同一次会话的一系列请求和响应关联起来。
实现会话有两种方式:
- session 作用于服务端
- cookie 作用于客户端
属于同一次会话的请求都有一个相同的标识符,sessionID
session 常用方法:
String getId() 获取sessionID
void setMaxInactiveInterval(int interval) 设置session的失效时间,单位为秒
int getMaxInactiveInterval() 获取当前session的失效时间
void invalidate() 设置session立即失效
void setAttribute(String key, Object value) 通过键值对的形式来存储数据
Object getAttribute(String key) 通过键来获取对应的数据
void removeAttribute(String key) 通过键来删除对应的数据
Cookie
Cookie是服务的在HTTP响应中附带传给浏览器的一个小文本文件,一旦浏览器保存了某个Cookie,在之后的请求和响应过程中,会将此Cookie来回传递,这样就可以通过Cookie这个载体完成客户端和服务端的数据交互。
更多推荐
所有评论(0)