jsp内置对象

     内置对象指在编辑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>


结果为:

jsp内置对象_第1张图片

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>


 

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

你可能感兴趣的:(jsp内置对象)