如果需要在多次请求中(间隔请求)的信息,可以存放在session中携带,例如之前的银行系统中的username,就可以在最开始存入session中
if("登陆成功".equals(result)){
HttpSession session=req.getSession();
session.setAttribute("username",username);
RequestDispatcher rd= req.getRequestDispatcher("welcome.jsp");
rd.forward(req,resp);
}
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
HttpSession session = req.getSession();
String username = (String) session.getAttribute("username");
AtmService atmService = MySpring.getJavaBean("service.AtmService");
Float balance = atmService.inquire(username);
//request对象中有两个map集合,Object value=request.getAttribute("key");
req.setAttribute("balance", balance);
req.getRequestDispatcher("showBalance.jsp").forward(req, resp);
}
setMaxInactiveInterval(秒**)**方法用于设置session最大活跃时间,超出时间session对象不活跃但对象还在;默认的最大活跃时间为30分钟;
session.invalidate()**方法设置session对象失效
session.getid(),返回值为String
ServletContext application 全局上下文对象
对比于session,若我们换一个浏览器请求同样的信息,session失效,因为它是一次会话,而application是全局上下文对象不会失效
方法 | 返回值 |
---|---|
application.removeAttribute(“key”) | 无 |
application.setAttribute(“key”,Object) | 无 |
application.getAttribute(“key”) | Object |
application.getAttributeNames() | Enumeration |
application.getInitParameter(“key”) | String |
application.getInitParameterNames() | Enumeration |
application.getRealPath() | String |
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
</head>
<body>
<%
String value= application.getInitParameter("keyParam");//注意此处
System.out.println("我是"+value);
%>
<form action="test.jsp" method="post">
测试数据:<input type="text" name="test" value=""><br>
<input type="submit" value="submit">
</form>
</body>
</html>
JSPWriter out write(); println();
Object page(等于this,当前页对象) 例如index_jsp.java这个类的对象
PageContext pageContext 页面对象上下文
作用域对象:
pageContext 只在当前页作用域中可以访问(例如index_jsp.java这个类的范围内)
request 一次请求的范围之内
session 一次会话范围内
application 全局范围内(好多个session可以共享)
ServletConfig config
方法 | 返回值 |
---|---|
config.getServletContext() | ServletContext(application) |
config.getInitParameter(“key”) | String |
config.getInitParameterNames() | Enumeration |
config.getServletName() | String |
Exception exception
error.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
<html>
<head>
</head>
<body>
异常(*^▽^*)
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="error.jsp" %>
注意:404没有找到资源不是异常
**