JSP内置对象是Web容器创建的一组对象,不用声明,直接使用 |
out 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 Page request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Page session 会话对象 类型 javax.servlet.http.HttpSession 作用域 Session application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application ----------------------------------------------------------------------------------------- pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Page config 配置对象 类型 javax.servlet.ServletConfig 作用域 Page page 页面对象 类型 javax.lang.Object 作用域 Page exception 例外对象 类型 javax.lang.Throwable 作用域 page |
内置对象out的方法:(作用是在网页上输出内容) <%out.print(变量)%> == <%=变量 %> 1.print() 可打印各种类型 2.write() 可正常打印char,char[],String, 3.println() 在print的基础上再多打一个回车,显示在html上则是一个空格 只有加<br/>才能换行 ---------------------------------------------------- 要点:用print打印一个空的对象会输出null, 用write打印一个空的对象,会出现空指针异常 |
方法名称 |
说明 |
void addCookie(Cookie cookie) |
向客户端添加Cookie |
void setContentType(String type) |
设置HTTP响应的contentType类型 |
void setCharacterEncoding(String charset) |
设置响应所采用的字符编码类型 |
void sendRedirect(String location) |
将请求重新定位到一个新的URL上 |
客户端值提交一次请求,是在服务器内部将一个请求的处理权交给另一个资源,属于同一个请求和响应过程,request对象的信息不会丢失。浏览器的地址栏不变化。
客户端重新向服务器请求了一个地址链接,服务器返回一个带有新URL信息的响应,客户端接受响应之后重新发送新的请求,上
<% request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
if("sa".equals(name) && "sa".equals(pwd)){
RequestDispatcher rs = request.getRequestDispatcher("welcome.jsp");
rs.forward(request, response);
}else{out.print("用户名或密码不正确")}%>
<% request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
if("sa".equals(name) && "sa".equals(pwd)){
response.sendRedirect("welcome.jsp?name="+name);
}else{out.print("用户名或密码不正确")}%>
跟在URL后面的叫查询字符串,采用值对方式,参数名=值,以?
客户端第一次请求则创建会话,且服务器给客户端返回一个sessionid,与该会话绑定,默认30分钟不发出新的请求,则会
话结束,sessionid失效。(sessionid存在客户端cookie中)
-----------------------------------------------------
不同的浏览器有不同的sessionid,父窗口和子窗口sessionid
session.setMaxInactiveInterval(600);单位:秒
<session-timeout>10</session-timeout>
<session-timeout>30</session-timeout>