JSP之session对象

保存及获取属性

index.jsp

<%@page contentType="text/html;charset=gb2312"%>

<HTML>

       <HEAD>

              <TITLE>session对象</TITLE>

       </HEAD>

       <BODY>

       <%

              session.setAttribute("name","aaa");

              session.setAttribute("password","111");

       %>

       <jsp:forward page="common.jsp"/>

       </BODY>

</HTML>

 

common.jsp

<%@page contentType="text/html;charset=gb2312"%>

<HTML>

       <HEAD>

              <TITLE>session对象</TITLE>

       </HEAD>

       <BODY>

       <H2>这里是common.jsp</H2>

       <%

              String name = (String)session.getAttribute("name");

              String password = (String)session.getAttribute("password");

       %>

       <h1>name : <%=name%></h1>

       <h1>password : <%=password%></h1>

       </BODY>

</HTML>

 

这个例子会成功的取得保存在session对象里的属性值。如果我们将<jsp:forward page="common.jsp"/>去掉,改由response.sendRedirect("common.jsp");来跳转,或者由<A HREF="common.jsp">转向</A>这个超链接来转向,同样可以取得session对象中的属性值的。

session对象属性的有效范围通常是一个浏览器窗口,如果我们在同一窗口中先后访问这两个页面,属性值是可以被取得的,如果我们打开一个浏览器窗口却直接访问common.jsp的话,属性值就无法获得了。

但是,如果我们使用<A HREF="common.jsp" target=blank>转向</A>这个超链接来访问common.jsp,虽然是另一个窗口,但是属性值却可以得到。

登录范例

index.jsp

<%@page contentType="text/html;charset=gb2312"%>

<HTML>

       <HEAD>

              <TITLE>登录范例</TITLE>

       </HEAD>

       <BODY>

       <FORM METHOD=POST ACTION="login.jsp">

              帐号:<INPUT TYPE="name" NAME="name"><BR>

              密码:<INPUT TYPE="password" NAME="password"><BR>

              <INPUT TYPE="submit" VALUE="登录">

       </FORM>

       </BODY>

</HTML>

 

login.jsp

<%@page contentType="text/html;charset=gb2312"%>

<HTML>

       <HEAD>

              <TITLE>登录范例</TITLE>

       </HEAD>

       <BODY>

       <%

              request.setCharacterEncoding("gb2312");

              String name = request.getParameter("name");

              String password = request.getParameter("password");

              if("aaa".equals(name)&&"111".equals(password))             

              {

                     session.setAttribute("name",name);

                     response.sendRedirect("success.jsp");

              }

              else

              {

                     response.sendRedirect("failure.jsp");

              }

       %>

       </BODY>

</HTML>

 

success.jsp

<%@page contentType="text/html;charset=gb2312"%>

<HTML>

       <HEAD>

              <TITLE>登录成功</TITLE>

       </HEAD>

       <BODY>

       <%

              String name = (String)session.getAttribute("name");

              if(name!=null){

       %>

                     <H2>欢迎<%=name%>登录</H2>

       <%

              }else{

                     response.setHeader("refresh","2;URL=index.jsp") ;

       %>

                     您还没有登录,2秒后自动返回首页!

       <%

              }

       %>

       </BODY>

</HTML>

 

failure.jsp

<%@page contentType="text/html;charset=gb2312"%>

<HTML>

       <HEAD>

              <TITLE>登录失败</TITLE>

       </HEAD>

       <BODY>

       <H2>登录失败</H2>

       </BODY>

</HTML>

 

    在这个登录范例中,我们使用session对象对系统的重要页面success.jsp做了保护,防止用户直接从地址栏访问该页面。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值