session在登录中的使用

  1 package action.exam;
  2 
  3 import java.util.Map;
  4 
  5 import com.opensymphony.xwork2.ActionContext;
  6 import com.opensymphony.xwork2.ActionSupport;
  7 
  8 import dao.exam.StudentDAO;
  9 import dao.exam.TeacherDAO;
 10 import dao.exam.AdministratorDAO;
 11 import entity.exam.Student;
 12 import entity.exam.Administrator;
 13 import entity.exam.Teacher;
 14 public class LoginAction extends ActionSupport
 15 {
 16     private String id;             // 接受用户编号
 17     private String password;    // 接受用户密码
 18     private String role;
 19     public String getId() 
 20     {
 21         return id;
 22     }
 23     public void setId(String id) 
 24     {
 25         this.id = id;
 26     }
 27     public String getPassword() 
 28     {
 29         return password;
 30     }
 31     public void setPassword(String password) 
 32     {
 33         this.password = password;
 34     }
 35     public String getRole() 
 36     {
 37         return role;
 38     }
 39     public void setRole(String role) 
 40     {
 41         this.role = role;
 42     }
 43     public String execute() throws Exception 
 44     {
 45         Map session = ActionContext.getContext().getSession();//非IoC方式的另外一种
 46         if("student".equals(role)) 
 47         {
 48             //如果以学生身份登录
 49             StudentDAO sdao=new StudentDAO();
 50             Student st=sdao.selectStudent(id);  
 51             if(st==null) 
 52             {
 53                 addActionError("该学生编号不存在!");
 54                 return "input";
 55             }
 56             else if(!st.getPassword().equals(password))
 57             {
 58                 addActionError("该学生密码不正确!");
 59                 return "input";
 60             }
 61             else
 62             {
 63                 session.put("student",st);
 64                 return "studentSuccess";
 65             }
 66         }
 67         else if("administrator".equals(role))
 68         {
 69             AdministratorDAO adao=new AdministratorDAO();
 70             Administrator ad=adao.selectAdministrator(id);
 71             if(ad==null) 
 72             {
 73                 addActionError("该管理员编号不存在!");
 74                 return "input";
 75             }
 76             else if(!ad.getPassword().equals(password))
 77             {
 78                 addActionError("该管理员密码不正确!");
 79                 return "input";
 80             }
 81             else
 82             {
 83                 session.put("administrator",ad);
 84                 return "administratorSuccess";
 85             }
 86         }
 87         else 
 88         {
 89             TeacherDAO tdao=new TeacherDAO();
 90             Teacher te=tdao.selectTeacher(id);
 91             if(te==null) 
 92             {
 93                 addActionError("该教师编号不存在!");
 94                 return "input";
 95             }
 96             else if(!te.getPassword().equals(password))
 97             {
 98                 addActionError("该教师密码不正确!");
 99                 return "input";
100             }
101             else
102             {
103                 session.put("teacher",te);
104                 return "teacherSuccess";
105             }
106         }
107     }
108 }
View Code

在index.jsp页面如何取得参数

  1 <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
  2 <%@ taglib prefix="s" uri="/struts-tags"%>
  3 <html>
  4 <head>
  5 <title>开始考试</title>
  6 <link href="student/images/css2.css" rel="stylesheet" type="text/css"/>
  7 <style type="text/css">
  8 <!--
  9 .STYLE3 {font-size: 18px; }
 10 .STYLE4 {font-size: 18px; font-weight: bold; }
 11 .STYLE5 {color: #FF0000}
 12 -->
 13 </style>
 14 <script type="text/javascript">
 15  var ksTime; //定义考试时间以分钟计算
 16  ksTime = 60;//设置时间 这里设置为0.1代表是6秒,测试用
 17  if(readCookie("ss")=="")
 18  {
 19   setCookie("ss",new Date(),ksTime/60);
 20  }
 21  function sT()
 22  {
 23   var tti = new Date();
 24   var lt  = parseInt((tti-new Date(readCookie("ss")))/1000)
 25   if((ksTime*60-lt)<0)
 26   {
 27    setCookie("ss",new Date(),0);
 28    alert("考试时间到!
即将提交试卷!");
 29    document.forms[0].submit();
 30   }
 31   else
 32   {
 33       lm = Math.floor(lt / 60);
 34     ls = lt % 60;
 35     allY = ksTime*60-lt;
 36     ym = Math.floor(allY / 60);
 37     ys = allY % 60;
 38    document.getElementById("tTime").innerHTML = "考试已经开始了" + lm + "分" + ls + "秒" + ",剩余"  + ym + "分" + ys + "秒";
 39    var ttt = setTimeout("sT()",1000);
 40   }
 41  }
 42  function readCookie(name) 
 43  { 
 44   var cookieValue = ""; 
 45   var search = name + "="; 
 46   if(document.cookie.length > 0)
 47   { 
 48    offset = document.cookie.indexOf(search); 
 49    if (offset != -1) 
 50    { 
 51     offset += search.length; 
 52     end = document.cookie.indexOf(";", offset); 
 53     if (end == -1) 
 54      end = document.cookie.length; 
 55     cookieValue = document.cookie.substring(offset, end) 
 56    } 
 57   } 
 58   return cookieValue; 
 59  }  
 60  function setCookie(name, value, hours) 
 61  { 
 62   var expire = ""; 
 63   if(hours != null) { 
 64    expire = new Date((new Date()).getTime() + hours * 3600000); 
 65    expire = "; expires=" + expire.toGMTString(); 
 66   } 
 67   document.cookie = name + "=" + value + expire; 
 68  }
 69  </script>
 70 </head>
 71 
 72 <body onload="sT()">
 73 <table width="1003" height="485" border="0" cellpadding="0" cellspacing="0" class="centerbg">
 74   <tr>
 75     <td width="149" height="485">&nbsp;</td>
 76     <td width="741" valign="top" class="rightbian">
 77      <form action="submitExam.action" method="post">
 78     <table width="98%" border="0" align="center" cellpadding="0" cellspacing="10">
 79       <tr>
 80         <td><div align="center" class="STYLE3">考试时间:60 分钟</div></td>
 81         <td><div align="center" class="STYLE3">考生:${sessionScope.student.name}</div></td>
 82         <td><div align="center" class="STYLE3">总分 :100 分</div></td>
 83       </tr>
 84       <tr>
 85         <td>&nbsp;</td>
 86         <td><div id="tTime"></div></td>
 87         <td>&nbsp;</td>
 88       </tr>
 89       <tr>
 90         <td colspan="3" bgcolor="#999999" class="STYLE4">选择题(每小题5分,共10个)</td>
 91       </tr>
 92       <!--题目开始-->
 93      
 94       <s:iterator value="#request.ChoiceQuestion" var="cq" status="sta">
 95            <tr>
 96         <td colspan="3"><strong>第<span class="STYLE5">${sta.index + 1}</span>题&nbsp;${cq.c_question}</strong>        </td>
 97       </tr>
 98       <tr>
 99         <td colspan="3"><strong>A.</strong>${cq.c_choiceA}</td>
100       </tr>
101       <tr>
102         <td colspan="3"><strong>B.</strong>${cq.c_choiceB}</td>
103       </tr>
104       <tr>
105         <td colspan="3"><strong>C.</strong>${cq.c_choiceC}</td>
106       </tr>
107       <tr>
108         <td colspan="3"><strong>D.</strong>${cq.c_choiceD}</td>
109       </tr>
110       <tr>
111         <td height="32" colspan="3" bgcolor="#CCCCCC">选择答案:
112           <input type="hidden" name="c_answer1${sta.index}" value="${cq.c_answer}"/>
113           <input type="radio" name="c_answer${sta.index}" value="A" checked="checked"/>
114           A
115           <input type="radio" name="c_answer${sta.index}" value="B" />
116           B
117           <input type="radio" name="c_answer${sta.index}" value="C" />
118           C
119           <input type="radio" name="c_answer${sta.index}" value="D" />
120           D</td>
121       </tr>
122       </s:iterator>
123        <tr>
124         <td colspan="3" bgcolor="#999999" class="STYLE4">填空题(每小题5分,共10个)</td>
125       </tr>
126        <s:iterator value="#request.FillQuestion" var="fq" status="stf">
127        <tr>
128         <td colspan="3"><strong>第<span class="STYLE5">${stf.index + 11}</span>题&nbsp;${fq.f_question}</strong>        </td>
129       </tr> <tr>
130        <td height="32" colspan="3" bgcolor="#CCCCCC">输入答案:
131        <input type="hidden" name="f_answer1${stf.index}" value="${fq.f_answer}"/>
132           <input type="text" name="f_answer${stf.index}" size="40"/></td>
133       </tr>
134        </s:iterator>
135        <!--题目结束-->
136       <tr>
137         <td colspan="3"><div align="center">
138           <input type="submit" value=" 提交答卷 " name="Submit" />
139         </div></td>
140       </tr>
141     </table>
142      </form>
143     </td>
144     <td width="113">&nbsp;</td>
145   </tr>
146 </table>
147 </body>
148 </html>
View Code
---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
原文地址:https://www.cnblogs.com/zzzzw/p/4853542.html