




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程实验报告课程名称JSP开发技术班级软件132实验日期2016.5.23姓名 孙玉东学号201307217实验成绩实验名称实验3 简易选课系统实验目的及要求学习使用Myeclipse开发Web项目,综合使用JavaBean、Servlet、Cookie和Session。实验环境Tomcat7.0.myeclipse2013实验内容编写一个Java Web项目,实现依据Cookie自动登录,登录后可以进行课程的简单选课和退课。在第一次登录页面时,需要输入用户名和密码,并可选择一周内不用登录。第二次时可以直接显示欢迎界面。开始选课后,会列出所有备选课程,之后有添加和删除的超链接,点击对应的超链接可以实现课程的添加与删除。算法描述及实验步骤1、 创建的项目名称为LessionSelectionProj2、 将附件中给的welcome.jsp,login.jsp添加到项目中的合适位置,阅读调试修改其中的代码, 依据给的CookieLoginServlet.java创建CookieLoginServlet,阅读调试修改其中的代码,以上三个文件实现cookie保留登录信息的功能。实现后如下:a)首此在IE地址栏中输入:http:/localhost:8080/LessionSelectionProj/welcome.jsp,出现界面 b) 输入用户名2222(由于Cookie限制,用户名只能是英文与数字),密码任意(为简便起见CookieLoginServlet并不对用户密码进行判断),选择“一周之内不用登录”后,点击登录按钮,显示:c) 关闭IE浏览器,重新打开地址http:/localhost:8080/LessionSelectionProj/welcome.jsp,直接出现以上界面,不再需要登录。d)查看一下IE生成的cookie文件的内容,位置在:XP: C:/Documents and Settings/用户名/Cookies/WIN7: C:Users用户名AppDataRoamingMicrosoftWindowsCookiesLow3、 创建JavaBean, beans.CoursesData,包含三个字段:字符串courseId,courseName和HashMap类型的courseData,以及对应的get/set方法,courseData中存放以下数据:4、 创建Servlet ShowCourse.java点击上图的开始选课链接,显示:5、 创建添加课程的Servlet: AddCourse.Java,点击某个课程(如JSP程序设计)后面的添加链接,则显示:多选几门课,显示:6、 如果选择已经选过的课,则会显示如下界面:7、 创建删除课程的Servlet:DeleteCourse.Java,点击某个课程(如JSP程序设计)后面的删除链接,则显示:调试过程及实验结果1.登录界面2.欢迎界面3.选课界面4.添加课程5.删除课程总结 通过这次实验重新复习了对Cookie以及Session的使用 对于利用cookie保存用户信息,第一次使用的时候觉得有点不习惯 ,但在做出了这个实验之后,就感到熟练了许多了。附录1. 登录界面代码 用户名: 密 码: 一周之内不用登录 2. 欢迎界面代码 欢迎$.value 访问我们的简易登录系统 开始选课 3. 选课界面代码 $sessionS ,$requestScope.message $sessionS 请选择你要选修的课程: $course.value 添加 删除 $sessionS 你已经选择了下面的课程: $course.value public class CookieLoginServlet extends HttpServlet public void doGet(HttpServletRequest request, 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(on.equals(remember)/向客户端发送CookieCookie c = new Cookie(user,name) ;/设置Cookie的存活时间(只要设置了存活时间,那么此Cookie就将存储到客户端的硬盘上,不会在缓存中存储)c.setMaxAge(Integer.MAX_VALUE) ;/设置浏览器携带Cookie的路径c.setPath(/) ;/设置路径如果是/,那就意味着你访问服务器上的任意工程资源都会携带此Cookie/c.setPath(/) ; /设置路径是服务器的根路径 协议 + 主机名 + 端口号/发送到客户端response.addCookie(c) ;request.getSession().setAttribute(username, name);response.sendRedirect(welcome.jsp);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doGet(request, response);增加private List courses; Map selected;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(UTF-8) ;response.setContentType(text/html;charset=UTF-8);String name=request.getParameter(name);String id=request.getParameter(id);int courseid=Integer.valueOf(id);System.out.println(id+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(存在); flag=true; if(flag) System.out.println(存在1); else selected.put(id, courses.get(courseid-1).getCoursedata().get(id); System.out.println(courses.get(courseid-1).getCoursedata().get(id); request.getSession().setAttribute(selected, selected); request.setAttribute(name, name); request.getRequestDispatcher(ShowCourse.jsp).forward(request, response);删除List selectedCouser; Map selected;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(UTF-8) ;response.setContentType(text/html;charset=UTF-8);String id=request.getParameter(id);int courseid=Integer.valueOf(id);String name=request.getParameter(name); List 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); selected= (Map) request.getSession().getAttribute(selected); if(selected=null) selected =new HashMap(); selected.remove(id); request.getSession().setAttribute(selected, selected); request.setAttribute(name, name); request.setAttribute(selectcourse, selectedCouser); request.getRequestDispatcher(ShowCourse.jsp).forward(request, response); 显示代码throws ServletException, IOException request.setCharacterEncoding(UTF-8) ;response.setContentType(text/html;charset=UTF-8);String name=request.getParameter(name); List 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); / System.out.println(c.toString(); request.setAttribute(courses, courses); for(CourseData c:cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全职合同标准文本
- 供蔬菜合同样本
- 亚克力月结合同样本
- 供货矿石合同标准文本
- 仓库农庄出租合同样本
- 借用产品合同样本
- 乡村振兴改造合同样本
- 井下劳动合同标准文本
- 做电子合同标准文本
- 借款合同样本11篇
- 《人工智能技术基础》课件-第六章 知识图谱
- 2025年山东省济南市市中区中考物理一模试卷(无答案)
- 商业秘密保护:内外勾结型侵犯行为的司法认定分析
- 2025年全国中小学生安全教育日专题
- 2025年电子设备装接工岗位职业技能资格证考试题(附答案)
- 2025年河南航空港发展投资集团有限公司社会招聘45人笔试参考题库附带答案详解
- 2025太阳能光热发电站熔融盐储热系统技术
- 2025年安阳职业技术学院单招职业技能测试题库及答案一套
- 2024年全国高考新课标Ⅱ卷数学试题含答案解析
- 2025延长石油(集团)限责任公司社会招聘高频重点提升(共500题)附带答案详解
- 2025年山东国际信托股份限公司社会招聘高频重点提升(共500题)附带答案详解
评论
0/150
提交评论