• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 申请书
  • 演讲稿
  • 讲话稿
  • 领导发言
  • 读后感
  • 观后感
  • 事迹材料
  • 党建材料
  • 策划方案
  • 对照材料
  • 不忘初心
  • 主题教育
  • 脱贫攻坚
  • 调查报告
  • 疫情防控
  • 自查报告
  • 工作汇报
  • 党史学习
  • 当前位置: 达达文档网 > 文档下载 > 自查报告 > 正文

    JSP开发技术实验3简易选课系统

    时间:2020-12-25 14:11:04 来源:达达文档网 本文已影响 达达文档网手机站

    课程实验报告 课程名称 JSP开发技术 班级 软件 实验日期 2016 姓名 学号 实验成绩 实验名称 实验3 简易选课系统 实 验 目 的 及 要 求 学习使用Myeclipse开发Web项目,综合使用JavaBean、Servlet、Cookie和Session。

    实 验 环 境 Tomcat7.0. myeclipse2013 实 验 内 容 编写一个Java Web项目,实现依据Cookie自动登录,登录后可以进行课程的简单选课和退课。在第一次登录页面时,需要输入用户名和密码,并可选择一周内不用登录。第二次时可以直接显示欢迎界面。开始选课后,会列出所有备选课程,之后有添加和删除的超链接,点击对应的超链接可以实现课程的添加与删除。

    算 法 描 述 及 实 验 步 骤 1、 创建的项目名称为LessionSelectionProj 2、 将附件中给的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\用户名\AppData\Roaming\Microsoft\Windows\Cookies\Low 3、 创建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. 登录界面代码 <body> <form action=“cookieServlet“ method=“post“> 用户名:<input name=“name“ type=“text“/> <br> 密&nbsp;码:<input name=“password“ type=“password“/> <br> <input type=“checkbox“ name=“check“ value=“1“/>一周之内不用登录 <br> <input type=“submit“ value=“Submit“/> </form> </body> 2. 欢迎界面代码 <body> <c:choose> <c:when test=“${cookie.name!=null}“> 欢迎${cookie.name.value }访问我们的简易登录系统 </c:when> <c:otherwise> <c:redirect url=“login.jsp“></c:redirect> </c:otherwise> </c:choose> <a href=“showCourse“>开始选课</a> </body> 3. 选课界面代码 <body> <c:if test=“${requestScope.message !=null}“> ${sessionScope.name },${requestScope.message } <br><br> </c:if> ${sessionScope.name }请选择你要选修的课程:
    <br><br> <table> <c:forEach items=“${sessionScope.courseData }“ var=“course“> <tr> <td>${course.value }&nbsp;&nbsp;</td> <td><a href=“addCourse?course=${course.key }“>添加</a></td> <td><a href=“deleteCourse?course=${course.key }“>删除</a></td> </tr> </c:forEach> </table> <br> <hr> <br> ${sessionScope.name }你已经选择了下面的课程:
    <br><br> <c:if test=“${sessionScope.checkedCourse != null}“> <c:forEach items=“${sessionScope.checkedCourse }“ var=“course“> ${course.value } <br> </c:forEach> </c:if> </body> 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)){ //向客户端发送Cookie Cookie 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<CourseData> courses; Map<String, String> 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<CourseData>(); for(int i=0;i<5;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<String, String>) request.getSession().getAttribute(“selected“); if(selected==null){ selected =new HashMap<String, String>(); } 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<CourseData> selectedCouser; Map<String, String> 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<CourseData> courses=new ArrayList<CourseData>(); for(int i=0;i<5;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<String, String>) request.getSession().getAttribute(“selected“); if(selected==null){ selected =new HashMap<String, String>(); } 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<CourseData> courses=new ArrayList<CourseData>(); for(int i=0;i<5;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:courses){ System.out.println(c.toString()); } request.setAttribute(“name“, name); System.out.println(name); // request.getRequestDispatcher(“ShowCourse.jsp“); // response.sendRedirect(“ShowCourse.jsp“); request.getRequestDispatcher(“ShowCourse.jsp“).forward(request, response); }

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网