SSH实训指导书_第1页
SSH实训指导书_第2页
SSH实训指导书_第3页
SSH实训指导书_第4页
SSH实训指导书_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SSH开发实例教程SSH课程设计实训指导书烟台南山学院工学院计算系 程继洪 著课程代码:08220572 开课专业:软件技术课程类型: 专业必修课 学分:1课程总学时:30 实验学时:30实验总体安排实训总计分为9个实验,其他中验证性实验8个,设计性实验1个。序号实验名称目的要求、内容提要(限20字)每组人数实验学时实验类型必做选做1Java Web项目搭建搭建Java Web项目。11验证性必做2SSH框架集成SSH框架的集成过程和方法。11验证性必做3学生登录学生登录功能。14验证性必做4列出可选课程列出所有可选课程。14验证性必做5学生选课完成学生选课功能。14验证性必做6教师登录完成教

2、师登录功能。14验证性必做7教师登录成绩完成教师登录成绩的功能。14验证性必做8拦截器、数据校验和异常处理完成登录功能、数据验证和异常处理。12验证性必做9学生查询成绩完成学生成绩查询功能。16设计性选做实验一 Java Web项目搭建实验性质所属课程SSH实验学时1实验性质验证 综合 设计必做/选做必做 选做实验目的掌握Java Web项目搭建过程和方法;实验内容搭建Java Web项目。实验条件及环境PC机(2M内存),Windows OS,Eclipse IDE,MySQL 5.5,Tomcat 6.x。实验步骤1.1 新建项目在Eclipse中,点击File菜单,选择“New”菜单项,

3、在子菜单中选择“Other”,如图1.1所示。图1.1 点击File菜单,选择NewOther1.2 选择项目类型在弹出的对话框中,点开Web节点,选择“Dynamic Web Project”,点“Next”按钮,如图1.2所示。图1.2 选择Dynamic Web Project1.3 选择运行环境在New Web Project对话框中,在Project name后的文本框中输入项目名JavaWeb,并点击“New Runtime”按钮,如图1.3所示。图1.3 选择运行环境1.4 设置运行环境在“New Server Runtime Environment”对话框中,点击Apache结

4、点,并选择“Apache Tomcat v7.0”,点“Next”按钮,如图1.4所示。图1.4 选择Apache Tomcat 7.01.5 选择Tomcat在弹出的对话框中,点击“Browse”按钮,在弹出的对话框中,定位apche-tomcat-7.0.69的安装位置,占“Finish”按钮,如图1.5所示。图1.5 定位apache-tomcat-71.6 下一步在图1.3所示的对话框中,选择“Next”,弹出如图1.6所示的对话框。直接点击“Next”按钮。图1.6 1.7 完成在弹出的对话框中,选择“”复选框,点“Finish”按钮,完成项目的创建。如图1.7所示。图1.7构建好的

5、项目结构如图1.8所示。图1.8 完成后的Java Web项目。实验二 SSH框架集成实验性质所属课程SSH实验学时1实验性质验证 综合 设计必做/选做必做 选做实验目的掌握SSH框架的集成过程和方法;实验内容进行Struts2、Spring3和Hibernate4的框架集成。实验条件及环境PC机(2M内存),Windows OS,Eclipse IDE,MySQL 5.5,Tomcat 6.x,Navicat Premium。实验步骤2.1 导入SSH Jar文件在教师指定的FTP下载所需要的jar文件,全部复制到Java Web项目的WebContent/WEB-INF/lib目录下。2.

6、2 配置web.xml文件打开web.xml文件,输入以下代码。SSHDemostruts2struts2/*contextConfigLocationclasspath:applicationContext.xmlindex.jsp2.3 新建struts.xml文件按A.1所示的方法,在项目的src目录下,新建struts.xml文件。在新建的struts.xml文件中,输入以下代码: 2.4 新建applicationContext.xml文件按A.1所示的方法,在项目的src目录下,新建applicationContext.xml文件。并输入以下代码。jdbc:mysql:/192.1

7、68.131.218:3306/hibernateroot123456update2.5 集成测试1、测试之前将jdbc:mysql:/18:3306/hibernate修改成自己的IP地址,并按附录A.2所示的步骤新建hibernate数据库,并将hibernate-2016-5-23-1801.sql导入hibernate数据库。2、在项目名称上右键单击,在弹出的快捷菜单中选择“Run as”“Run on Server”选项,如图2.1所示。图2.1 运行Java Web项目项目应能启动。启动后如图2.2所示。图2.2 项目正常启动效果说明:之所以出现404错误

8、,是因为我们没有访问具体的URI地址而已,而不项目本身的错误。实验三 学生登录实验性质所属课程SSH实验学时4实验性质验证 综合 设计必做/选做必做 选做实验目的l 掌握SSH框架的开发流程和基本;l 掌握SSH框架的运行流程;l 掌握SSH框架的struts.xml配置;l 掌握SSH框架的applicationContext.xml配置;l 掌握Struts2标签的运用实验内容完成学生登录功能。实验条件及环境PC机(2M内存),Windows OS,Eclipse IDE,MySQL 5.5,Tomcat 6.x,Navicat Premium。实验步骤3.1 导入Hibernate映射文

9、件按附录A.4所示的方法在src目录下新建com.nanshan.bo包,并把下载到的java文件和*.hbm.xml文件复制到该包中。如图3.1所示。并修改applicationContext.xml文件,在的中添加以下代码:com/nanshan/bocom/nanshan/bocom/nanshan/bocom/nanshan/bocom/nanshan/bo图3.1 Hibernate映射文件3.2 编写登录界面按附录A.3所示的方法创建JSP文件index.jsp。并输入以下代码。Insert title here登录提示:3.3 编写IStuDao数据库访问接口在项目src目录下新

10、建com.nanshan.dao包,并在包中新建IStuDao接口(方法见附录A.5)。并输入以下代码。package com.nanshan.dao;import com.nanshan.bo.Stu;public interface IStuDao public Stu findStuById(String stuId);3.4 编写StuDaoImpl实现IStuDao接口在项目src目录下新建com.nanshan.dao.impl包,并在包中新建StuDaoImpl.java类(方法见附录A.6),并输入以下代码(注意,该类实现了3.3节定义的IStuDao接口)。注意:输入代码时,

11、会出现找不到IStuDao接口的情况,请按Ctrl+Shift+O导入该接口即可。package com.nanshan.dao.impl;import java.sql.SQLException;import java.util.List;import org.hibernate.HibernateException;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.nanshan.bo.Stu;public class StuDaoImpl extends HibernateDa

12、oSupport implements IStuDao Overridepublic Stu findStuById(String stuId) / TODO Auto-generated method stubStu stu = (Stu) getHibernateTemplate().get(Stu.class, stuId);return stu;3.5 配置IStuDao实现类在applicationContext.xml文件中的标签前,添加以下代码。3.6 编写LoginAction类在项目src目录下新建com.nanshan.action包(方法见附录A.4),然后在该包下新建类

13、LoginAction.java,并键入以下代码。package com.nanshan.action;import java.util.List;import java.util.Map;import com.nanshan.bo.Stu;import com.nanshan.dao.IStuDao;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport private ISt

14、uDao stuDao;private String stuId;private String password;public String login() throws Exception Stu stu = stuDao.findStuById(stuId);if (null != stu) if (stu.getPassword().equals(password) return SUCCESS;return INPUT;public IStuDao getStuDao() return stuDao;public void setStuDao(IStuDao stuDao) this.

15、stuDao = stuDao;public String getStuId() return stuId;public void setStuId(String stuId) this.stuId = stuId;public String getPassword() return password;public void setPassword(String password) this.password = password;说明:private String stuId;private String password;对应于3.2节(编写登录界面)中index.jsp中如下的表单域相对

16、应,以完成Struts2的自动赋值功能。3.7 配置LoginAction类(applicationContext.xml)在applicationContext.xml文件中,之前添加以下代码:说明:name=stuDaon是LoginAction中private IStuDao stuDao;对应的变量,ref=stuDao是引用3.5节(配置IStuDao实现类)配置的实现类。3.8 配置LoginAction类(struts.xml)在struts.xml文件的位置(即,2.3 新建struts.xml文件所示的位置),修改成下面的代码:修改前:修改后: /main.jsp /inde

17、x.jsp 说明:l name=Login_*是通配符调用方法;l method=1表示调用的方法是第一个符合*匹配的字符串;l class=LoginAction对应于3.7节(配置LoginAction类(applicationContext.xml))中中的id属性的值。3.9 编写结果页面main.jsp按附录A.3所示的方法,新建main.jsp页面,并在标签中输入以下代码:哈哈3.10 运行项目,观察结果按照“”所示的步骤运行项目,在index.jsp中输入学号和密码,点“登录”按钮,观察结果。能看到main.jsp中的“哈哈”两字即为成功!说明:若出现Tomcat服务器不能在规定

18、的45秒内启动的情况,选择Project菜单,选择“Clean”菜单项,对项目进行清理,然后再启动服务器。图3.2 输入用户名和密码图3.3 运行结果。实验四 列出所有可选课程实验性质所属课程SSH实验学时4实验性质验证 综合 设计必做/选做必做 选做实验目的l 掌握SSH框架的开发流程和基本;l 掌握SSH框架的运行流程;l 掌握SSH框架的struts.xml配置;l 掌握SSH框架的applicationContext.xml配置;l 掌握Struts2标签的运用。l 掌握Struts2对JSP对象的访问方法。l 掌握Hibernate条件查询和抓取。实验内容完成列出所有可选课程的功能。

19、实验条件及环境PC机(2M内存),Windows OS,Eclipse IDE,MySQL 5.5,Tomcat 6.x,Navicat Premium。实验准备项目数据库E-R图如下。实验步骤4.1 新建ICourseDao接口在com.nanshan.dao包下新建接口ICourseDao.java,并输入以下代码。package com.nanshan.dao;import java.util.List;import com.nanshan.bo.Course;public interface ICourseDao public List findAllCourse();4.2 实现IC

20、ourseDao接口在com.nanshan.dao.impl包下,新建CourseDaoImpl.java类,并输入以下代码。package com.nanshan.dao.impl;import java.util.List;import org.hibernate.FetchMode;import org.hibernate.criterion.DetachedCriteria;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.nanshan.bo.Course;import

21、com.nanshan.dao.ICourseDao;class CourseDaoImpl extends HibernateDaoSupport implements ICourseDao Overridepublic List findAllCourse() / TODO Auto-generated method stubDetachedCriteria courseCriteria = DetachedCriteria.forClass(Course.class);courseCriteria.setFetchMode(teacher, FetchMode.JOIN);List co

22、urses = getHibernateTemplate().findByCriteria(courseCriteria);return courses;注意:Hibernate抓取的实现。4.3 配置CourseDaoImpl类(applicationContext.xml)在applicationContext.xml文件中标签之前,添加以下代码。4.4 修改LoginAction类(1)添加courseDao属性private ICourseDao courseDao;并添加该属性的get/set方法(方法见附录A.7)。该属性用于Spring的set注入。(2)添加coursespri

23、vate List courses;并产生该属性的get/set方法。该属性用于存放显示在页面上的所有课程。(3)在登录成功的if语句中添加以下语句Map session = ActionContext.getContext().getSession();session.put(stu, stu);courses = courseDao.findAllCourse();修改完成后的LoginAction类代码如下:package com.nanshan.action;import java.util.List;import com.nanshan.bo.Course;import com.na

24、nshan.bo.Stu;import com.nanshan.dao.ICourseDao;import com.nanshan.dao.IStuDao;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport private IStuDao stuDao;private ICourseDao courseDao;private String stuId;private String password;private List courses;public Strin

25、g login() throws Exception Stu stu = stuDao.findStuById(stuId);if (null != stu) if (stu.getPassword().equals(password) Map session = ActionContext.getContext().getSession();session.put(stu, stu);courses = courseDao.findAllCourse();return SUCCESS;return INPUT;public IStuDao getStuDao() return stuDao;

26、public void setStuDao(IStuDao stuDao) this.stuDao = stuDao;public String getStuId() return stuId;public void setStuId(String stuId) this.stuId = stuId;public String getPassword() return password;public void setPassword(String password) this.password = password;public ICourseDao getCourseDao() return

27、 courseDao;public void setCourseDao(ICourseDao courseDao) this.courseDao = courseDao;public List getCourses() return courses;public void setCourses(List courses) this.courses = courses;4.5 修改LoginAction配置(applicationContext.xml)修改后的LoginAction bean的配置如下所示。4.6 修改main.jsp文件添加page指令导入Stu类,并添加taglib标签,引

28、入Struts2的标签库。在标签中添加代码。Insert title here选课界面欢迎你:ID课程名称任课教师input type=checkbox name=courseId value= / 4.7 启动项目进行测试从index.jsp中输入学生的学号和密码,点击登录。可看到如下画面。图4.1 列出所有可选课程实验五 学生选课实验性质所属课程SSH实验学时4实验性质验证 综合 设计必做/选做必做 选做实验目的l 掌握SSH框架的开发流程和基本;l 掌握SSH框架的运行流程;l 掌握SSH框架的struts.xml配置;l 掌握SSH框架的applicationContext.xml配置

29、;l 掌握Struts2标签的运用。l 掌握Struts2对JSP对象的访问方法。l 掌握Hibernate条件查询和抓取。实验内容完成学生选课功能。实验条件及环境PC机(2M内存),Windows OS,Eclipse IDE,MySQL 5.5,Tomcat 6.x,Navicat Premium。实验准备l 项目数据库E-R图如下。l 上接实验四列出所有可选课程的功能。实验步骤5.1 main.jsp文件见4.6修改main.jsp文件。5.2 IStuDao添加方法在IStuDao接口中添加以下方法。public List saveSelcourses(List selcourse);

30、public List findSelcourseByStuId(String stuId);public Course findCourseById(String courseId);5.3 实现saveSelcourses的方法在StuDaoImpl类中实现saveSelcourses方法,代码如下。Overridepublic List saveSelcourses(final List selcourse) / TODO Auto-generated method stubthis.getHibernateTemplate().executeFind(new HibernateCall

31、back() Overridepublic Object doInHibernate(Session session) throws HibernateException,SQLException / TODO Auto-generated method stubTransaction tx = session.beginTransaction();for (Selcourse sl : selcourse) List existSel = session.createCriteria(Selcourse.class).add(Restrictions.eq(stu.stuId, sl.get

32、Stu().getStuId().add(Restrictions.eq(course.courseId, sl.getCourse().getCourseId().list();if (null = existSel | existSel.size() = 0) session.save(sl);mit();session.flush();session.clear();session.close();return selcourse;);return null;5.4 实现findSelcourseByStuId方法在StuDaoImpl类中实现findSelcourseByStuId方法

33、,代码如下。此方法用于学生选课成功后向学生展示选课结果。Overridepublic List findSelcourseByStuId(String stuId) / TODO Auto-generated method stubDetachedCriteria dc = DetachedCriteria.forClass(Selcourse.class, sc);dc.add(Expression.eq(sc.stu.stuId, stuId);List sels = this.getHibernateTemplate().findByCriteria(dc);return sels;5.

34、5 实现findCourseById方法Overridepublic Course findCourseById(String courseId) / TODO Auto-generated method stubCourse c = (Course) getHibernateTemplate().get(Course.class, courseId);return c;5.6 新建StuAction类在com.nanshan.action包中新建StuAction.java类。输入以下代码。(1)收集选课数据根据main.jsp页面提交的选课数据,只有courseId,而且为多个,所以声明p

35、rivate String courseId;并产生其get/set方法,用于Struts2自动注入完成客户端参数接收。(2)显示学生选课数据private List selCourses;并产生selCourses 的get/set方法。(3)接收Spring注入private IStuDao stuDao;并产生stuDao的get/set方法(其实只用到set方法)。(4)编写selectCourse方法注意,该方法与main.jsp中的 StuAction_selectCourse对应关系。public String selectCourse() HttpSession session

36、 = ServletActionContext.getRequest().getSession();Stu stu = (Stu) session.getAttribute(stu);if (null = stu) this.addActionMessage(没有登录不能选课!);return INPUT;List sels = new ArrayList();for (String cid : courseId) Date date = new Date();SimpleDateFormat sdf = new SimpleDateFormat(ddHH-mm-ss-sss);Random rnd = new Random();String selId = sdf.format(date) + rnd.nextInt(999

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论