JSP内置对象
在代码中没有任何地方声明和创建就可以直接使用的对象就是JSP内置对象。下面列举几个常用的内置对象。
- out对象
方法:out.print()、out。println()
该两个方法可以实现页面的输出显示。 - request对象
常有方法:
- String getParameter(String name):根据页面表单组件名称获取页面提交数据
- String getParameterValues(String name):获取一组以相同名称命名的表单组件页面提交数据
- void setCharacterEncoding(String name):设置编码格式,解决中文乱码
- RequestDispatcher getRequestDispatcher(String path):用于转发,这里不多介绍
//A页面代码
<div align="center">请输入注册信息
<form name="form1" method="get" action="reginfo.jsp">
<table border="0" align="center">
<tr>
<td>用户名:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td height="19">密码:</td>
<td height="19"><input type="password" name="pwd"></td>
</tr>
<tr>
<td>信息来源:</td>
<td>
<input type="checkbox" name="channel" value="报刊">报刊
<input type="checkbox" name="channel" value="网络">网络<br/>
<input type="checkbox" name="channel" value="朋友推荐">朋友推荐
<input type="checkbox" name="channel" value="电视">电视
</td>
</tr>
<!-- 以下是提交、取消按钮 -->
<tr >
<td colspan="2" align="center" >
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Reset" value="取消">
</td>
</tr>
</table>
</form>
</div>
//A页面表单提交,B页面获得A页面信息,以下为B页面代码
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
String[] channel = request.getParameterValues("channel");
%>
<br/>
<%=name %>
<br/>
<%=pwd %>
<br/>
<%
- response对象
常有方法:
- void addCookie(Cookie cookie):向客户端添加Cookie
- void setContentType(String type):设置HTTP响应的contentType类型
- void setCharacterEncoding(String name):设置编码格式,解决中文乱码
- void sendRedireet(String location):将请求重新定位到一个新的url上
- session对象
什么是session:
Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。
举个栗子:平常在淘宝买东西的时候,如果你没有登录你点击购买的时候让你登录,你登录一次后就可以购买商品,如果你再一次购买商品的时候,再次让你登录这不是很麻烦吗,session常用于这部分工作,一次网页登录后直到session失效前都不用再次登录
常用方法:
- String getId():获取sessionid
- void setMaxInactiveInterval(int interval):设定session的非活动时间
- int getMaxInactiveInterva():“获取session的有效非活动时间,单位/秒
- void invalidate():让session失效
include指令
可以将一些多个网页中的重复内容写入一个单独的文件中,然后通过include指令引用该文件
语法:
<%@ include file="应用文件路径"%>
转发和重定向
转发和重定向可以简单的理解为跳转页面,从一个网页到另外一个网页,具体原理请百度
转发和跳转的区别(以下内容为转载@liubin5620)
- 转发使用的是getRequestDispatcher0.forword(request,response)方法,重定向使用的是sendRedirect0;
- 转发浏览器URL的地址栏不变,重定向:浏览器URL的地址栏改变;
- 转发是服务器行为,重定向是客户端行为;
- 转发是浏览器只做了一次访问请求。重定向是浏览器做了至少两次的访问请求;
- 转发2次跳转之间传输的信息不会丢失,重定向2次跳转之间传输的信息会丢失(request范围) ;
- 转发和重定向的选择,重定向的速度比转发慢,因为WEB浏览器还得发出个新的请求, 如果在使用转发和重定向都无所谓的时只能用重定向