SSH实训指导书.docx
《SSH实训指导书.docx》由会员分享,可在线阅读,更多相关《SSH实训指导书.docx(89页珍藏版)》请在冰豆网上搜索。
SSH实训指导书
SSH开发实例教程
——《SSH课程设计》实训指导书
烟台南山学院工学院计算系
程继洪著
课程代码:
08220572 开课专业:
软件技术
课程类型:
专业必修课学 分:
1
课程总学时:
30实验学时:
30
实验总体安排
实训总计分为9个实验,其他中验证性实验8个,设计性实验1个。
序号
实验名称
目的要求、内容提要
(限20字)
每组人数
实验学时
实验类型
必做
选做
1
JavaWeb项目搭建
搭建JavaWeb项目。
1
1
验证性
必做
2
SSH框架集成
SSH框架的集成过程和方法。
1
1
验证性
必做
3
学生登录
学生登录功能。
1
4
验证性
必做
4
列出可选课程
列出所有可选课程。
1
4
验证性
必做
5
学生选课
完成学生选课功能。
1
4
验证性
必做
6
教师登录
完成教师登录功能。
1
4
验证性
必做
7
教师登录成绩
完成教师登录成绩的功能。
1
4
验证性
必做
8
拦截器、数据校验和异常处理
完成登录功能、数据验证和异常处理。
1
2
验证性
必做
9
学生查询成绩
完成学生成绩查询功能。
1
6
设计性
选做
实验一JavaWeb项目搭建
实验性质
所属课程
SSH
实验学时
1
实验性质
√验证□综合□设计
必做/选做
√必做□选做
实验目的
掌握JavaWeb项目搭建过程和方法;
实验内容
搭建JavaWeb项目。
实验条件及环境
PC机(2M内存),WindowsOS,EclipseIDE,MySQL5.5,Tomcat6.x。
实验步骤
1.1新建项目
在Eclipse中,点击File菜单,选择“New”菜单项,在子菜单中选择“Other…”,如图1.1所示。
图1.1点击File菜单,选择New→Other…
1.2选择项目类型
在弹出的对话框中,点开Web节点,选择“DynamicWebProject”,点“Next”按钮,如图1.2所示。
图1.2选择DynamicWebProject
1.3选择运行环境
在NewWebProject对话框中,在Projectname后的文本框中输入项目名JavaWeb,并点击“NewRuntime…”按钮,如图1.3所示。
图1.3选择运行环境
1.4设置运行环境
在“NewServerRuntimeEnvironment”对话框中,点击Apache结点,并选择“ApacheTomcatv7.0”,点“Next”按钮,如图1.4所示。
图1.4选择ApacheTomcat7.0
1.5选择Tomcat
在弹出的对话框中,点击“Browse…”按钮,在弹出的对话框中,定位apche-tomcat-7.0.69的安装位置,占“Finish”按钮,如图1.5所示。
图1.5定位apache-tomcat-7
1.6下一步
在图1.3所示的对话框中,选择“Next”,弹出如图1.6所示的对话框。
直接点击“Next”按钮。
图1.6
1.7完成
在弹出的对话框中,选择“”复选框,点“Finish”按钮,完成项目的创建。
如图1.7所示。
图1.7
构建好的项目结构如图1.8所示。
图1.8完成后的JavaWeb项目。
实验二SSH框架集成
实验性质
所属课程
SSH
实验学时
1
实验性质
√验证□综合□设计
必做/选做
√必做□选做
实验目的
掌握SSH框架的集成过程和方法;
实验内容
进行Struts2、Spring3和Hibernate4的框架集成。
实验条件及环境
PC机(2M内存),WindowsOS,EclipseIDE,MySQL5.5,Tomcat6.x,NavicatPremium。
实验步骤
2.1导入SSHJar文件
在教师指定的FTP下载所需要的jar文件,全部复制到JavaWeb项目的WebContent/WEB-INF/lib目录下。
2.2配置web.xml文件
打开web.xml文件,输入以下代码。
xmlversion="1.0"encoding="UTF-8"?
>
xsi="http:
//www.w3.org/2001/XMLSchema-instance"
xmlns="
xsi:
schemaLocation="
id="WebApp_ID"version="2.5">
SSHDemo
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
--spring配置地址和相应的监听器-->
contextConfigLocation
classpath:
applicationContext.xml
org.springframework.web.context.ContextLoaderListener
index.jsp
2.3新建struts.xml文件
按A.1所示的方法,在项目的src目录下,新建struts.xml文件。
在新建的struts.xml文件中,输入以下代码:
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.3//EN"
"http:
//struts.apache.org/dtds/struts-2.3.dtd">
2.4新建applicationContext.xml文件
按A.1所示的方法,在项目的src目录下,新建applicationContext.xml文件。
并输入以下代码。
xmlversion="1.0"encoding="UTF-8"?
>
//www.springframework.org/schema/beans"
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"xmlns:
aop="http:
//www.springframework.org/schema/aop"
xmlns:
tx="http:
//www.springframework.org/schema/tx"
xsi:
schemaLocation="http:
//www.springframework.org/schema/beans
http:
//www.springframework.org/schema/beans/spring-beans-2.5.xsd
http:
//www.springframework.org/schema/tx
http:
//www.springframework.org/schema/tx/spring-tx.xsd
http:
//www.springframework.org/schema/aop
http:
//www.springframework.org/schema/aop/spring-aop.xsd">
--定义数据源,该bean的ID为dataSource-->
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
--指定数据库驱动-->
com.mysql.jdbc.Driver
--指定连接数据库的URL-->
jdbc:
mysql:
//192.168.131.218:
3306/hibernate
--root为数据库的用户名-->
root
--pass为数据库密码-->
123456
--定义Hibernate的SessionFactory-->
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
--依赖注入数据源,注入正是上文定义的dataSource-->
--mappingResouces属性用来列出全部映射文件-->
--以下用来列出所有的PO映射文件-->
--定义Hibernate的SessionFactory的属性-->
--指定Hibernate的连接方言-->
org.hibernate.dialect.MySQLDialect
--不同数据库连接,启动时选择create,update,create-drop-->
update
2.5集成测试
1、测试之前将jdbc:
mysql:
//192.168.131.218:
3306/hibernate修改成自己的IP地址,并按附录A.2所示的步骤新建hibernate数据库,并将hibernate-2016-5-23-1801.sql导入hibernate数据库。
2、在项目名称上右键单击,在弹出的快捷菜单中选择“Runas”→“RunonServer”选项,如图2.1所示。
图2.1运行JavaWeb项目
项目应能启动。
启动后如图2.2所示。
图2.2项目正常启动效果
说明:
之所以出现404错误,是因为我们没有访问具体的URI地址而已,而不项目本身的错误。
实验三学生登录
实验性质
所属课程
SSH
实验学时
4
实验性质
√验证□综合□设计
必做/选做
√必做□选做
实验目的
●掌握SSH框架的开发流程和基本;
●掌握SSH框架的运行流程;
●掌握SSH框架的struts.xml配置;
●掌握SSH框架的applicationContext.xml配置;
●掌握Struts2标签的运用
实验内容
完成学生登录功能。
实验条件及环境
PC机(2M内存),WindowsOS,EclipseIDE,MySQL5.5,Tomcat6.x,NavicatPremium。
实验步骤
3.1导入Hibernate映射文件
按附录A.4所示的方法在src目录下新建com.nanshan.bo包,并把下载到的java文件和*.hbm.xml文件复制到该包中。
如图3.1所示。
并修改applicationContext.xml文件,在
--以下用来列出所有的PO映射文件-->
的
中添加以下代码:
com/nanshan/bo/Clazz.hbm.xml
com/nanshan/bo/Course.hbm.xml
com/nanshan/bo/Selcourse.hbm.xml
com/nanshan/bo/Stu.hbm.xml
com/nanshan/bo/Teacher.hbm.xml
图3.1Hibernate映射文件
3.2编写登录界面
按附录A.3所示的方法创建JSP文件index.jsp。
并输入以下代码。
<%@pagelanguage="java"contentType="text/html;charset=utf-8"
pageEncoding="utf-8"%>
<%@taglibprefix="s"uri="/struts-tags"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
Inserttitlehere
登录
提示:
<%
Stringtip=(String)request.getAttribute("tip");
if(null!
=tip){
out.println(tip);
}
%>
hiddenname="login"value="login">
hidden>
textfieldname="stuId"label="用户名">
textfield>
passwordname="password"label="密码">
password>
submitvalue="登录">
submit>
3.3编写IStuDao数据库访问接口
在项目src目录下新建com.nanshan.dao包,并在包中新建IStuDao接口(方法见附录A.5)。
并输入以下代码。
packagecom.nanshan.dao;
importcom.nanshan.bo.Stu;
publicinterfaceIStuDao{
publicStufindStuById(StringstuId);
}
3.4编写StuDaoImpl实现IStuDao接口
在项目src目录下新建com.nanshan.dao.impl包,并在包中新建StuDaoImpl.java类(方法见附录A.6),并输入以下代码(注意,该类实现了3.3节定义的IStuDao接口)。
注意:
输入代码时,会出现找不到IStuDao接口的情况,请按Ctrl+Shift+O导入该接口即可。
packagecom.nanshan.dao.impl;
importjava.sql.SQLException;
importjava.util.List;
importorg.hibernate.HibernateException;
importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;
importcom.nanshan.bo.Stu;
publicclassStuDaoImplextendsHibernateDaoSupportimplementsIStuDao{
@Override
publicStufindStuById(StringstuId){
//TODOAuto-generatedmethodstub
Stustu=(Stu)getHibernateTemplate().get(Stu.class,stuId);
returnstu;
}
}
3.5配置IStuDao实现类
在applicationContext.xml文件中的标签前,添加以下代码。
3.6编写LoginAction类
在项目src目录下新建com.nanshan.action包(方法见附录A.4),然后在该包下新建类LoginAction.java,并键入以下代码。
packagecom.nanshan.action;
importjava.util.List;
importjava.util.Map;
importcom.nanshan.bo.Stu;
importcom.nanshan.dao.IStuDao;
importcom.opensymphony.xwork2.ActionContext;
importcom.opensymphony.xwork2.ActionSupport;
publicclassLoginActionextendsActionSupport{
privateIStuDaostuDao;
privateStringstuId;
privateStringpassword;
publicStringlogin()throwsException{
Stustu=stuDao.findStuById(stuId);
if(null!
=stu){
if(stu.getPassword().equals(password)){
returnSUCCESS;
}
}
returnINPUT;
}
publicIStuDaogetStuDao(){
returnstuDao;
}
publicvoidsetStuDao(IStuDaostuDao){
this.stuDao=stuDao;
}
publicStringgetStuId(){
returnstuId;
}
publicvoidsetStuId(StringstuId){
this.stuId=stuId;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
}
说明:
privateStringstuId;privateStringpassword;对应于3.2节(编写登录界面)中index.jsp中如下的表单域相对应,以完成Struts2的自动赋值功能。
3.7配置LoginAction类(applicationContext.xml)
在applicationContext.xml文件中,之前添加以下代码:
说明:
name="stuDao"n是LoginAction中privateIStuDaostuDao;对应的变量,ref="stuDao"是引用3.5节(配置IStuDao实现类)配置的实现类。
3.8配置LoginAction