目录
2.3.1 String getParameter(String name);2
2.3.2 String[] getParameterValues(String name);2
2.3.3 request.setCharacterEncoding(String charset);2
2.4.1void sendRedirect(String location).2
2.5.1 session对象的概念(会话),是什么和解决什么问题?...3
2.5.3 使用session对象来实现权限控制(进行session验证)...3
理解JSP内置对象
(一共九大内置对象)四个内置对象:out、request、response、session
Include
第二章 JSP数据交互(一)
2.1 JSP内置对象的概念
Htnl都可以用,需要用到内置对象
2.2 JSP内置对象out
Out常用的功能就是打印输出
2.3 JSP内置对象request的概念
相当于用户的请求数据信息
2.3.1 String getParameter(Stringname);
通过这种方法,可以获取到用户的请求信息
举例说明:
如何获取到登录验证的表单信息
用户名是:<%=request.getParameter("uname") %><br>
密码是:<%=request.getParameter("password")%>
2.3.2 String[] getParameterValues(Stringname);
<%
String[]hobbies=request.getParameterValues("hobbies");
out.print("爱好是:");
for(Stringhobby:hobbies){
out.print(hobby+" ");
}
%>
2.3.3 request.setCharacterEncoding(Stringcharset);
设置请求数据的编码类型
<%request.setCharacterEncoding("utf-8"); %>
2.4.4 设置tomcat的get请求的数据编码
URIEncoding="UTF-8"
2.4 JSP内置对象response
AddCookie();
2.4.1void sendRedirect(Stringlocation)
需求1:使用重定向实现提交表单的验证跳转
希望,如果用户名和密码正确,则跳转到正确的页面;如果失败,则返回登录页面
request.setCharacterEncoding("utf-8");
Stringuname=request.getParameter("uname");
String password=request.getParameter("password");
if(uname.equals("哈哈")&&password.equals("123")){
response.sendRedirect("welcome.jsp");
}
else{
request.getRequestDispatcher("index.jsp").forward(request,response);
}
希望成功页面能够显示欢迎xxx登录
需求2:实现提交表单的验证跳转的同时,获取到相应的用户信息
2.4.2 转发和重定向的区别
转发:request.getRequestDispatcher("index.jsp").forward(request,response);
重定向:多次的用户请求;
2.4.3 使用查询字符串实现数据的传递
需求3:实现颜色超链接的数据值传递(包括多个值的传递)
2.5 SP内置对象session
2.5.1 session对象的概念(会话),是什么和解决什么问题?
Session是以sessionid的形式保存在cookie中的
Session对象是指一次会话,实质上就是指访问一个网站的过程中的一系列操作
需求:实现第一次的登录验证,以后进行免登陆
如果登录成功了,以后可以直接访问welcome页面
如果没有记录登录信息,那么访问welcome页面的时候就直接跳转到登录页面
2.5.2 session对象的常用方法
需求:获取一个sessionid
Getid()
set Attribute()
getAttribute()
removeAttribute()
2.5.3 使用session对象来实现权限控制(进行session验证)
需求:实现管理员的登录验证操作
2.5.4 会话的失效
2.5.4.1 会话超时自动失效
1. session.setMaxInactiveInterval(30);
调用这个方法设置,单位是秒
2.在项目的web.xml中添加如下设置
<session-config>
<session-timeout>10</session-timeout>
</session-config>
如果设置为0,永不超时
3.tomcat服务器的默认设置:30分钟
<session-config>
<session-timeout>30</session-timeout>
</session-config>
2.5.4.2手动调用方法设置失效
Invalidate()
else if(uname.equals("呵呵")){
session.invalidate();
response.sendRedirect("index.jsp");
}
2.6 include指令
其他一些页面也需要这些代码块,怎么办?
%@includefile="index-elements/index_bottom.html"%
<%@includefile="index-elements/index_sidebar.jsp"%>