jsp内置对象

来源:互联网 发布:伦拜亚斯对乔丹数据 编辑:程序博客网 时间:2024/06/13 01:24

     内置对象指在编辑JSP文件时不用做任何声明就可以使用的对象,常用的内置对象有:out,request,response,session。另还有其他内置对象,如:application,exception,pageContext,page,config。

1、输出对象(out)

例子:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html>  <head>     <title>out对象简单实例</title>  </head>    <body>    <h1>out对象简单实例</h1>   <p>   缓冲区大小为:<%=out.getBufferSize() %><br>   是否自动清除缓冲区:<%=out.isAutoFlush() %><br>   缓冲区目前所剩:<%=out.getRemaining() %><br>      </p>   </body></html>


结果为:

2、请求对象(request)

jsp中可以使用窗体隐藏字段传递外,还可以用setAttribute()和getAttribute()方法,下面为此方法的例子。setAttribute(String key,Object value)方法中需要传递2个参数,一个是键,一个是值,将键值映射到值上,随后就可以使用getAttribute(String key)来获取其中的值。

例子如下:index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html>  <head>     <title>request对象简单实例</title>  </head>    <body>    <h1>request对象简单实例</h1>  <%request.setAttribute("hello","hello JSP hhhh"); %>  <jsp:forward page="request.jsp"></jsp:forward>  </body></html>

request.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html>  <head>     <title>request对象简单实例</title>  </head>    <body>    <h1>request对象简单实例</h1>  <%=request.getAttribute("hello")%>  </body></html>

结果为:

 

 

3、响应对象(response)

response对象主要是将JSP处理的数据结果返回给客户端,比如有时候想让网页自动刷新,就需要设置Header,如每10秒刷新一遍网页则可以用:

      response.setHeader("Refresh","10;URL=index.jsp");

 

 

 4、会话对象(session)

session对象表示目前个别用户的会话状况,用此机制可以轻易辨别每一个用户,然后可以根据用户的不同给出正确的响应。

例:index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>登录</title>  </head>    <body>  <form action="voildate.jsp">  用户名:<input type="text" name="name"/><br/><br/>   密  码:<input  type="password"  name="password"/><br/>  <input  type="submit" value="提交"/>  <div id="error"><font color="red"> <% String message=(String)request.getAttribute("error");  if(null!=message) out.print(message); %></font>  </div>  </form>    <br>  </body></html>

violdate.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html>  <head>        <title>session 简单实例</title>  </head>    <body>   <%   String name=request.getParameter("name");   String password=request.getParameter("password");   if("zhulihui".equals(name))   {       if("123456".equals("password"))      {          session.setAttribute("user",name);          response.sendRedirect("message.jsp");      }      else      {         request.setAttribute("error","密码错误");         request.getRequestDispatcher("index.jsp").forward(request,response);      }    }    else{    request.setAttribute("error","用户名错误");    request.getRequestDispatcher("index.jsp").forward(request,response);    }    %>    </body></html>


message.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html>  <head>    <title>session简单实例</title>   </head>      <%   String name=(String)session.getAttribute("user");   if(null==name)   request.getRequestDispatcher("index.jsp").forward(request,response);  %>    <body>  <h1>成功登陆。</h1>  </body></html>


 

用户名错误或密码错误会提示响应的错误,都正确,则成功登陆。