




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java项目实训(JSP)实训任务书一、实训目标通过项目实训,掌握Java Web平台下编程的方法,掌握JSP,Servlet,request,response等技术。课程要求从两个方面的能力目标实现,素养目标要求学员在通过学习具备相对应的学习技能、素养要求;技术目标要求学员必须掌握课程产品所定义的知识与技能。(1)素养目标v 阅读、编写项目开发文档的能力;v 根据项目需求设计模块功能并编码实现的能力v 问题解决能力、总结归纳能力;(2)技术目标v 使用Java Web技术实现在线考试系统-题库子系统;二、实训内容 参见附件:在线考试系统-题库子系统需求说明书三、实训进度安排按教学计划规定,该设计总学时数为3周,其进度及时间大致分配如下:序号设计内容天数(约占比例)1JSP知识回顾与补强22用户管理模块23科目管理模块24考题管理模块35项目点评、总结1总计10天四、考核评定考核分类考核方式成绩比例课堂表现平时成绩出勤、平时项目检查30项目考核项目评审项目实战表现、自主学习70 内蒙古工业大学JSP开发实训题目 在线考试系统-题库子系统 指导教师: 姓名: 学号: 班级: 信计13-1 专业: 信息与计算科学 地点: 实验楼数学系机房 时间: 一、项目名称在线考试系统-题库子系统二、功能要求 a、用户管理 b、课程管理 c、题库管理 三、需求分析 在线考试系统-题库子系统的用户包括用户管理员,试题管理员和题库使用人员,旨在建立一个独立的题库系统,为在线考试生成试卷提供支持,包含用户管理,科目管理,试题管理,生成试卷,试卷分析等内容,为用户提供了一个快速、全面、准确的试题管理平台。四、设计思想 a、使用Java Web技术实现 b、使用Mysql存储数据 c、基于MVC方式实现用例五、具体实现一、 Servlet方面 当客户端浏览器向服务器请求一个 Servlet 时,服务器收到该请求后,首先到容器中检索与请求匹配的 Servlet 实例是否已经存在。若不存在,则 Servlet 容器负责加载并实例化出该类 Servlet的一个实例对象,接着容器框架负责调用该实例的 init() 方法来对实例做一些初始化工作,然后Servlet 容器运行该实例的 service() 方法。若 Servlet 实例已经存在,则容器框架直接调用该实例的 service() 方法。service() 方法在运行时,自动派遣运行与用户请求相对应的 doXX() 方法来响应用户发起的请求。通常,每个 Servlet 类在容器中只存在一个实例,每当请求到来时,则分配一条线程来处理该请求。二、 JSP方面 当客户端浏览器向服务器请求一个 JSP 页面时,服务器收到该请求后,首先检查所请求的这个JSP 文件内容 ( 代码 ) 是否已经被更新,或者是否是 JSP 文件创建后的第一次被访问:如果是,那么,这个 JSP 文件就会在服务器端的 JSP 引擎作用下转化为一个 Servlet 类的 Java 源代码文件。紧接着,这个 Servlet 类会在 Java 编译器的作用下被编译成一个字节码文件,并装载到 jvm 解释执行。剩下的就等同于 Servlet 的处理过程了。如果被请求的 JSP 文件内容 ( 代码 ) 没有被修改,那么它的处理过程也等同于一个 Servlet 的处理过程。即直接由服务器检索出与之对应的 Servlet 实例来处理。三、 实现代码 在实现用户添加中,通过DBUtil实现与数据库的链接,通过一个useradd.jsp 中通过“post”提交给useraddservlet来处理数据,useraddservlet将提取到的数据通过DAO包中的方法来具体实现具体的功能。DAO包中都是为了实现查看,添加,修改,删除提供方法供别的servlet调用。四、 实现的关键代码 1.artcleAddServlet中的DoGet方法protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);String ArtId = request.getParameter(artcleId);String ArtName = request.getParameter(artcleName);String ArtDepict= request.getParameter(artcleDepict);String ArtsubjectId= request.getParameter(artclesubjectId);Artcle Art = new Artcle(ArtId,ArtName,ArtDepict,ArtsubjectId); ArticleDAO dao=new ArticleDAO(); int n=dao.save(Art); if (n=1) request.getRequestDispatcher(artcleListServlet).forward(request, response); else System.out.println(List 错误); 2.artcleListServlet中的DoGet方法protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);ArticleDAO dao = new ArticleDAO();List list = (List) dao.selectAll();request.setAttribute(list, list);request.getRequestDispatcher(article.jsp).forward(request,response);2. PointAddServlet中的DoGet方法protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8);int subjectId=RequestUtil.getInt(request, id);SubjectDAO dao=new SubjectDAO();Subject sub=dao.findSubById(subjectId);request.setAttribute(subject, sub);WebUtil.forward(request, response, PointAdd.jsp);4.PointDeleteServlet中的DoGet方法protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);int id=RequestUtil.getInt(request,id);PointDAO dao= new PointDAO();dao.deletePointById(id);WebUtil.forward(request, response, PointListServlet);5.PointListServlet中的DoGet方法protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8);SubjectDAO dao =new SubjectDAO();request.setAttribute(subjectList, dao.selectAll();int id = RequestUtil.getInt(request, id);if(id0)PointDAO pdao = new PointDAO();List pointList=pdao.findPointsBySubject(id);request.setAttribute(pointList, pointList);WebUtil.forward(request, response, PointList.jsp);6.PointSaveServlet中的DoGet方法protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);String pointId = request.getParameter(pointId);String pointName = request.getParameter(pointName);String pointAbs= request.getParameter(pointAbs);String subjectId= request.getParameter(subjectId);Point point = new Point(pointId,pointName,pointAbs,subjectId); PointDAO dao=new PointDAO(); int n=dao.save(point); if (n=1) request.getRequestDispatcher(PointListServlet).forward(request, response); else System.out.println(List 错误); 7.PointViewServlet中的DoGet方法protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);int id=RequestUtil.getInt(request,id);PointDAO dao=new PointDAO();Point point = dao.findPointById(id);request.setAttribute(point, point);WebUtil.forward(request, response, PointView.jsp);8.SubjectUpdateStep2Servlet中的DoGet方法protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);int id=Integer.parseInt(request.getParameter(subjectId);Subject sub =dao.findSubById(id);System.out.println(sub.getSubjectId();String subName = request.getParameter(subjectName);int subState = (request.getParameter(subjectState) = null)?1:Integer.parseInt(request.getParameter(subjectState);String subAbs= request.getParameter(subjectAbs);sub.setSubjectName(subName);sub.setSubjectState(subState);sub.setSubjectAbs(subAbs);System.out.println(sub.getSubjectName();dao.updateSub(sub);WebUtil.forward(request, response, SubjectListServlet);9.SubjectAddServlet中的DoGet方法protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);String subId = request.getParameter(subjectId);String subName = request.getParameter(subjectName);int subState = (request.getParameter(subjectState) = null)?1:Integer.parseInt(request.getParameter(subjectState);String subAbs= request.getParameter(subjectAbs);Subject sub = new Subject(subId,subName,subState,subAbs); SubjectDAO dao=new SubjectDAO(); int n=dao.save(sub); if (n=1) request.getRequestDispatcher(SubjectListServlet).forward(request, response); else System.out.println(List 错误); 10.SubjectDeleteServlet中的DoGet方法protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);int id=RequestUtil.getInt(request,id);SubjectDAO dao= new SubjectDAO();dao.deleteSubById(id);WebUtil.forward(request, response, SubjectListServlet);11.SubjectListServlet中的DoGet方法protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);SubjectDAO dao =new SubjectDAO();List list = dao.selectAll();request.setAttribute(list, list);request.getRequestDispatcher(SubjectList.jsp).forward(request, response);12.SubjectUpdateServlet中的DoGet方法protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);int id=RequestUtil.getInt(request,id);SubjectDAO dao=new SubjectDAO();Subject sub = dao.findSubById(id);request.setAttribute(sub, sub);WebUtil.forward(request, response, SubjectUpdate.jsp);13.SubjectViewServlet中的DoGet方法protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);int id=RequestUtil.getInt(request,id);SubjectDAO dao=new SubjectDAO();Subject sub = dao.findSubById(id);request.setAttribute(sub, sub);WebUtil.forward(request, response, SubView.jsp);14. LoginServlet中的DoGet方法response.getWriter().append(Served at: ).append(request.getContextPath();15. UserAddServlet中的DoGet方法String userId = request.getParameter(userId);String userLogname = request.getParameter(userName);String userPwd = request.getParameter(userPwd);String userRealname = request.getParameter(userRname);int userType = (request.getParameter(userType) = null) ? 3 : Integer.parseInt(request.getParameter(userType);int userState = (request.getParameter(userState) = null) ? 1: Integer.parseInt(request.getParameter(userState);User user = new User(userId, userLogname, userPwd, userRealname,userType, userState);UserDAO dao = new UserDAO();int n = dao.save(user);if (n = 1) request.getRequestDispatcher(UserListServlet?type=list).forward(request, response); else System.out.println(List );16. UserDeleteServlet中的DoGet方法int id = RequestUtil.getInt(request, id);UserDAO dao = new UserDAO();dao.deleteUserById(id);WebUtil.forward(request, response, UserListServlet?type=list);17. UserListServlet中的DoGet方法request.setCharacterEncoding(UTF-8);String type = request.getParameter(type);UserDAO dao = new UserDAO();if (list.equals(type) List list = dao.selectAll();request.setAttribute(list, list);request.getRequestDispatcher(UserList.jsp).forward(request,response);18. UserUpdateServlet中的DoGet方法request.setCharacterEncoding(UTF-8);int id = RequestUtil.getInt(request, id);UserDAO dao = new UserDAO();User user = dao.findUserById(id);request.setAttribute(user, user);WebUtil.forward(request, response, userUpdate.jsp);19. UserUpdateStep2Servlet中的DoGet方法request.setCharacterEncoding(UTF-8);int userId = Integer.parseInt(request.getParameter(userId);User user = dao.findUserById(userId);System.out.println(user.getUserId();String userLogname = request.getParameter(userName);String userRealname = request.getParameter(userRname);int userType = (request.getParameter(userType) = null) ? 3 : Integer.parseInt(request.getParameter(userType);int userState = (request.getParameter(userState) = null) ? 1: Integer.parseInt(request.getParameter(userState);user.setUserName(userLogname);user.setUserRname(userRealname);user.setUserType(userType);user.setUserState(userState);System.out.println(user.getUserName();System.out.println(user.getUserRname();dao.updateUser(user);WebUtil.forward(request, response, UserListServlet?type=list);20. UserViewServlet中的DoGet方法request.setCharacterEncoding(UTF-8);int id = RequestUtil.getInt(request, id);UserDAO dao = new UserDAO();User user = dao.findUserById(id);request.setAttribute(user, user);WebUtil.forward(request, response, view.jsp);21.AirticDAO中关键代码public ArticleDAO() class ArtcleDAO public List selectAll() List list = new ArrayList(); Connection conn = DBUtil.getConnection(); PreparedStatement pstmt = null; ResultSet rs = null; String sql = SELECT AR_id,AR_name,AR_DEPICT,AR_SUBJECT_ID + FROM et_artcle ORDER BY AR_id; try pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next() Artcle art = new Artcle(); art.setArtcleId(rs.getInt(1); art.setArtcleName(rs.getString(2); art.setArtcleDepict(rs.getString(3); art.setArtclesubjectId(rs.getInt(4); list.add(art); catch (SQLException e) e.printStackTrace(); finally DBUtil.closeJDBC(rs, pstmt, conn); return list; public Artcle findArtById(int arId) Artcle art = new Artcle(); Connection conn = DBUtil.getConnection(); PreparedStatement pstmt = null; ResultSet rs = null; String sql = SELECT * FROM et_artcle WHERE ar_id=?; try pstmt = conn.prepareStatement(sql); pstmt.setInt(1, arId); rs = pstmt.executeQuery(); if (rs.next() art.setArtcleId(rs.getInt(1); art.setArtcleName(rs.getString(2); art.setArtcleDepict(rs.getString(3); art.setArtclesubjectId(rs.getInt(4); catch (SQLException e) e.printStackTrace(); finally DBUtil.closeJDBC(rs, pstmt, conn); return art; public int deleteArtById(int arId) int n = -1; Connection conn = DBUtil.getConnection(); PreparedStatement pstmt = null; String sql = delete from et_artcle where ar_id=?; try pstmt = conn.prepareStatement(sql); pstmt.setInt(1, arId); n = pstmt.executeUpdate(); catch (SQLException e) e.printStackTrace(); finally DBUtil.closeJDBC(null, pstmt, conn); return n; public int updateArt(Artcle art) int n = -1; Connection conn = DBUtil.getConnection(); PreparedStatement pstmt = null; String sql = update et_artcle set ar_name=?,ar_depict=?,ar_subject_id=? where ar_id=?; try pstmt = conn.prepareStatement(sql); pstmt.setString(1, art.getArtcleName(); pstmt.setString(2, art.getArtcleDepict(); pstmt.setInt(3, art.getArtclesubjectId(); pstmt.setInt(4, art.getArtcleId(); n = pstmt.executeUpdate(); catch (SQLException e) e.printStackTrace(); finally DBUtil.closeJDBC(null, pstmt, conn); return n; public int save(Artcle art) int n = -1;Connection conn = DBUtil.getConnection();PreparedStatement pstmt = null;String sql = INSERT INTO et_artcle + VALUES(?,?,?,?);try pstmt = conn.prepareStatement(sql);pstmt.setInt(1, art.getArtcleId();pstmt.setString(2, art.getArtcleName();pstmt.setString(3, art.getArtcleDepict();pstmt.setInt(4, art.getArtclesubjectId();n = pstmt.executeUpdate(); catch (SQLException e) e.printStackTrace(); finally DBUtil.closeJDBC(null, pstmt, conn);return 0;public List selectAll() List list = new ArrayList();Connection conn = DBUtil.getConnection();PreparedStatement pstmt = null;ResultSet rs = null;String sql = SELECT AR_id,AR_name,AR_DEPICT,AR_SUBJECT_ID+ FROM et_artcle ORDER BY AR_id;try pstmt = conn.prepareStatement(sql);rs = pstmt.executeQuery();while (rs.next() Artcle art = new Artcle();art.setArtcleId(rs.getInt(1);art.setArtcleName(rs.getString(2);art.setArtcleDepict(rs.getString(3);art.setArtclesubjectId(rs.getInt(4);list.add(art); catch (SQLException e) e.printStackTrace(); finally DBUtil.closeJDBC(rs, pstmt, conn);return list;22.PointDAO中关键代码public class PointDAO public int save(Point sub) int n=-1;Connection conn = DBUtil.getConnection();PreparedStatement pstmt = null;String sql =INSERT INTO et_point + VALUES(?,?,?,?);try pstmt = conn.prepareStatement(sql);pstmt.setInt(1,sub.getPointId();pstmt.setString(2, sub.getPointName();pstmt.setString(3, sub.getPointAbs();pstmt.setInt(4, sub.getSubjectId();n=pstmt.executeUpdate(); catch (SQLException e) e.printStackTrace(); finally DBUtil.closeJDBC(null, pstmt, conn);return n;public List selectAll()List list =new ArrayList(); Connection conn=DBUtil.getConnection(); PreparedStatement pstmt=null; ResultSet rs=null; String sql=SELECT * FROM et_point ORDER BY p_id; try pstmt =conn.prepareStatement(sql);rs=pstmt.executeQuery(); while (rs.next() Point sub = new Point();sub.setSubjectId(rs.getInt(1);sub.setPointName(rs.getString(2);sub.setPointAbs(rs.getString(3);sub.setSubjectId(rs.getInt(4);list.add(sub); catch (SQLException e) e.printStackTrace();finallyDBUtil.closeJDBC(rs,pstmt,conn); return list; public Point findPointById(int pId) Point sub = new Point(); Connection conn =DBUtil.getConnection(); PreparedStatement pstmt=null; ResultSet rs=null; String sql =SELECT * FROM et_point WHERE p_id=?; try pstmt=conn.prepareStatement(sql); pstmt.setInt(1, pId); rs=pstmt.executeQuery(); if(rs.next() sub.setPointId(rs.getInt(1); sub.setPointName(rs.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年老年病科考试题及答案
- 2025年公路检验工程师桥梁隧道工程章节试题及答案
- 桃子类培训知识课件
- 公务员甄选面试题及答案
- 2025年残疾人专职委员招聘考试复习策略与建议
- 2025年经济师高级考试必-备微观经济学模拟题解析
- 2025年城市规划与管理专业公务员考试冲刺题库
- 2025年VR初级笔试工程师答案
- 2025年贸促会政府会计实操模拟题及答案
- 福建省莆田市七中2026届高二化学第一学期期中质量跟踪监视模拟试题含解析
- 湖北省武汉市武昌区重点名校2026届中考语文全真模拟试题含解析
- 2.4抽象函数的周期性与对称性-讲义(原卷版)
- 喷粉挂钩管理办法
- 2025手机维修服务合同范本
- 风电场安全规程考试题库(附答案)
- 肠内营养患者护理质量提升措施
- DB11∕T 1205-2024 用能单位能源审计报告编制与审核技术规范
- 苯职业病防护课件
- (高清版)DB11∕T 2442-2025 学校食堂异物管控规范
- 扬尘污染矿山管理办法
- 母乳喂养教学课件
评论
0/150
提交评论