1、境Tomcat7.0.myeclipse2013内容编写一个Java Web项目,实现依据Cookie自动登录,登录后可以进行课程的简单选课和退课。在第一次登录页面时,需要输入用户名和密码,并可选择一周内不用登录。第二次时可以直接显示欢迎界面。开始选课后,会列出所有备选课程,之后有添加和删除的超链接,点击对应的超链接可以实现课程的添加与删除。算法描述步骤1、 创建的项目名称为LessionSelectionProj2、 将附件中给的welcome.jsp,login.jsp添加到项目中的合适位置,阅读调试修改其中的代码, 依据给的CookieLoginServlet.java创建CookieL
2、oginServlet,阅读调试修改其中的代码,以上三个文件实现cookie保留登录信息的功能。实现后如下:a)首此在IE地址栏中输入:http:/localhost:8080/LessionSelectionProj/welcome.jsp,出现界面 b) 输入用户名2222(由于Cookie限制,用户名只能是英文与数字),密码任意(为简便起见CookieLoginServlet并不对用户密码进行判断),选择“一周之内不用登录”后,点击登录按钮,显示:c) 关闭IE浏览器,重新打开地址8080/LessionSelectionProj/welcome.jsp,直接出现以上界面,不再需要登录。
3、d)查看一下IE生成的cookie文件的内容,位置在:XP: C:/Documents and Settings/用户名/Cookies/WIN7:Users用户名AppDataRoamingMicrosoftWindowsCookiesLow3、 创建JavaBean, beans.CoursesData,包含三个字段:字符串courseId,courseName和HashMap类型的courseData,以及对应的get/set方法,courseData中存放以下数据:4、 创建Servlet ShowCourse.java点击上图的开始选课链接,显示:5、 创建添加课程的Servlet:
4、 AddCourse.Java,点击某个课程(如JSP程序设计)后面的添加链接,则显示:多选几门课,显示:6、 如果选择已经选过的课,则会显示如下界面:7、 创建删除课程的Servlet:DeleteCourse.Java,点击某个课程(如JSP程序设计)后面的删除链接,则显示:调试过程结果1.登录界面2.欢迎界面3.选课界面4.添加课程5.删除课程总 通过这次实验重新复习了对Cookie以及Session的使用 对于利用cookie保存用户信息,第一次使用的时候觉得有点不习惯 ,但在做出了这个实验之后,就感到熟练了许多了。附录1. 登录界面代码 用户名:input name=name typ
5、e=text/br 密 码:passwordinput type=checkbox name=check value=1一周之内不用登录submitSubmit /body2. 欢迎界面代码c:choose otherwise a href=showCourse开始选课3. 选课界面代码if test=$requestScope.message ! $sessionScope.name ,$requestScope.message if $sessionScope.name 请选择你要选修的课程:table forEach items=$sessionScope.courseData
6、 var=coursetr $course.value &/tdaddCourse?course=$course.key 添加 deleteCourse?删除forEach/tablehr $sessionScope.name 你已经选择了下面的课程:$sessionScope.checkedCourse != null$sessionScope.checkedCourse $course.value public class CookieLoginServlet extends HttpServlet public void doGet(HttpServletRequest request,
7、 HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8) ; response.setContentType(text/html;charset=UTF-8 String name=request.getParameter(username); String password=request.getParameter(userpwd / 记住用户 String remember = request.getParameter(remember if
8、(on.equals(remember) /向客户端发送Cookie Cookie c = new Cookie(user,name) ; /设置Cookie的存活时间(只要设置了存活时间,那么此Cookie就将存储到客户端的硬盘上,不会在缓存中存储) c.setMaxAge(Integer.MAX_VALUE) ; /设置浏览器携带Cookie的路径 c.setPath(/ /设置路径如果是/,那就意味着你访问服务器上的任意工程资源都会携带此Cookie /c.setPath( /设置路径是服务器的根路径 协议 + 主机名 + 端口号 /发送到客户端 response.addCookie(c
9、) ; request.getSession().setAttribute(, name); response.sendRedirect(welcome.jsp public void doPost(HttpServletRequest request, HttpServletResponse response) doGet(request, response);增加 private List courses; Map selected; String id=request.getParameter(id int courseid=Integer.valueOf(id); System.out
10、.println(+courseid); courses=new ArrayList(); for(int i=0;i5;i+) CourseData c=new CourseData(); c.setCourseId(String.valueOf(i+1); c.setCourseName(c.getCoursedata().get(i+1+); courses.add(c); request.setAttribute(courses, courses); boolean flag=false; /用hashmap来做 selected= (Map) request.getSession().getAttribute(selected if(selected=null) selected =new HashMap for (String key : selected.keySet() if(key.equals(id) System.out.println(
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1