SSH框架搭建实例教程毕业课程设计Word文档下载推荐.docx
- 文档编号:19644021
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:19
- 大小:168.41KB
SSH框架搭建实例教程毕业课程设计Word文档下载推荐.docx
《SSH框架搭建实例教程毕业课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《SSH框架搭建实例教程毕业课程设计Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
5.SSH整合步骤8
5.1安装所需软件环境:
8
5.1.1、首先安装JDK,配置Java环境变量8
5.1.2安装MyEelipse8
5.1.3数据库9
5.1.4、9
5.2环境配置好了就可以做SSH整合的项目9
6.搭建框架并简单应用11
6.1准备工作11
6.2(建立项目,包结构,导入所需jar文件)12
6.3撰写资源文件15
6.4在com.ssh.utilm包下添加下列文件19
6.5添加hibernateDAO模板20
6.6以上的工作还不够,我们还需要进行WEB方面的配置20
7.测试:
23
7.1.ssh.model包下建立User.java23
7.2com.ssh.service包下建立UserService.java24
7.3com.ssh.test下建立Test.java25
7.4结果26
8.结束语26
1.SSH是什么
新的MVC软件开发模式,SSH(Struts,Spring,Hibernate)Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装,这种新的开发模式让我们的开发更加方便、快捷、思路清晰!
2.1简单介绍
Spring是一个开源框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
2.2各种特性
2.2.1轻量
从大小与开销两方面而言Spring都是轻量的。
完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。
并且Spring所需的处理开销也是微不足道的。
此外,Spring是非侵入式的:
典型地,Spring应用中的对象不依赖于Spring的特定类。
2.2.2控制反转
Spring通过一种称作控制反转(IoC)的技术促进了松耦合。
当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
2.2.3面向切面
Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。
应用对象只实现它们应该做的——完成业务逻辑——仅此而已。
它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
2.2.4容器
Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。
然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
2.2.5框架
Spring可以将简单的组件配置、组合成为复杂的应用。
在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。
Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
2.3总结
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。
它们也为Spring中的各种模块提供了基础支持。
3.1简单介绍
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在ServletJSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
3.2核心接口
Hibernate的核心接口一共有5个,分别为:
Session、SessionFactory、Transaction、Query和Configuration。
这5个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
下面对这五个核心接口分别加以介绍。
·
3.2.1Session接口
SessionFactory接口
SessionFactory接口负责初始化Hibernate。
它充当数据存储源的代理,并负责创建Session对象。
这里用到了工厂模式。
需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
3.2.3·
Configuration接口
Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。
在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
3.2.4·
Transaction接口
Transaction接口负责事务相关的操作。
它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
3.2.5Query和Criteria接口
Query和Criteria接口负责执行各种数据库查询。
它可以使用HQL语言或SQL语句两种表达方式。
4.Struts
4.1什么是Struts框架
Struts是一组相互协作的类、servlet和JSP标记组成的一个可重用的MVC2设计。
这个定义表示Struts是一个框架,而不是一个库,但Struts也包含了丰富的标记库和独立于该框架工作的实用程序类。
4.2Struts概览
4.2.1Clientbrowser(客户浏览器)
4.2.2Controller(控制器)
控制器接收来自浏览器的请求,并决定将这个请求发往何处。
就Struts而言,控制器是以servlet实现的一个命令设计模式。
struts-config.xml文件配置控制器命令。
4.3.3业务逻辑
业务逻辑更新模型的状态,并帮助控制应用程序的流程。
就Struts而言,这是通过作为实际业务逻辑“瘦”包装的Action类完成的。
4.3.4Model(模型)的状态
模型表示应用程序的状态。
业务对象更新应用程序的状态。
ActionFormbean在会话级或请求级表示模型的状态,而不是在持久级JSP文件使用JSP标记读取来ActionFormbean的信息。
4.3.5View(视图)
视图就是一个JSP文件。
其中没有流程逻辑,没有业务逻辑,也没有模型信息--只有标记。
标记是使Struts有别于其他框架(如Velocity)的因素之一。
4.4Struts中的Controller(控制器)
命令设计模式的实现
ActionServlet(Command)创建并使用Action、ActionForm和ActionForward.
通过struts-config.xml文件配置该Command.从而扩展Action和ActionForm来解决特定的问题。
可以通过扩展ActionServlet来添加Command功能。
4.5在Struts框架中控制器组件的三个构成部分
1,消息控制模块;
用户所有的提交请求都发往消息控制模块,在由消息总线模块根据视图映射模块找到消息处理模块来执行处理逻辑。
消息控制模块接收所有用户的请求,并根据请求视图找到处理。
Strtus中通过ActionServlet和RequestProcessor类来完成。
2,消息处理模块:
该模块执行该消息的逻辑处理,因此通常由用户扩展实现。
Struts中通过Action类来实现。
3,视图映射模块;
控制器逻辑和视图逻辑之间的结合是通过配置模块和配置文件建立其的链接。
Struts中配置模块通过ModuleConfig类来完成,而配置文件由struts-config.xml文件提供。
4.6Struts中的View(视图)视图组件通过JSP组件的实现机制。
Struts框架对视图组件进行了扩展和封装。
Struts对视图的扩展提供了一组扩展服务器标签用来提供视图显示以及传递数据到处理缓冲,而处理缓冲由ActionForm的扩展类来实现。
Struts框架利用ActionFormBean来实现视图与控制器之间的数据的交互,维持会话级或请求级的模型的状态。
服务器标签主要包括:
Html视图标签;
Logic逻辑流程控制标签;
Bean数据缓冲读取标签;
4.7Struts中的Model(模型)
1,Struts框架中并没有定义特定的模型组件,而是希望由用户自己决定选择合理的模型组件。
J2EE中可用的模型组件包括:
JavaBean用户定义组件;
EJB组件,由EJB容器实现组件;
JDO未来J2EE数据访问模型;
一些扩展框架如:
Hibernate;
2,模型中状态的级别
会话级或请求级:
ActionFormbean来维持;
持久级:
模型组件来维持;
5.SSH整合步骤
5.1.1、首先安装JDK,配置Java环境变量
右键我的电脑->
属性->
高级->
环境变量
【JAVA_HOME】“F:
\Java\jdk1.6.0_12”jdk1.6.0_12是我装的版本,你看你自己的版本然后改下名字;
【Path】“%JAVA_HOME%\bin;
”注意,这个要添加到系统原来的PATH前面,要像有些人说的加后面可能会不能编译。
【Classpath】“.;
%JAVA_HOME%\lib\tools.jar”
然后就是试下看是否配置成功了
关于设置JAVAHOME的必要性:
你若装TOMCAT或ORACLE等都会改变你的环境设置,总是改path,classpath容易出错也不方便,所以JAVAHOME就有了统一指向性,方便不易出错
开始-运行-CMD然后“javac”会出现很多操作说明,也可以“java-version”查看版本信息。
再就是自己编个简单的JAVA文件试下了
5.1.2安装MyEelipse。
注:
修改ContentAssist为Ctrl+Enter,可以修改提示快捷键
5.1.3数据库
5.1.4、安装tomcat,并将tomcat加载到MyElipse中的服务器中。
具体步骤为:
Window——>
Preferences——>
MyEclipseEnterpriseWorkbench——>
Servers——>
Tomcat——>
Tomat6X——>
选择"
Enable"
,下面三个空指向tomcat的安装路径,如:
D:
\Tomcat6.0。
5.2环境配置好了就可以做SSH整合的项目
1、先引入Struts,然后是Spring,最后是Hibernate(AOPLibrarian,CoreLibraries,JDBCLIbrarian,WebSLibrarian)。
2、在DatabaseDriver中先创建数据库
3、在struts—config.xml中配置
<
plug-inclassName="
org.springframework.web.struts.ContextLoaderPlugIn"
>
<
set-propertyproperty="
contextConfigLocation"
value="
WEB-INFapplicationContext.xml"
plug-in>
这样就把Struts中的ActionSevlet加到Spring中了。
4、写带有Form表单的页面
5、写对应的ActionForm,并在struts-config.xml中注册<
form-bean>
。
6、写对应于数据库的持久化类,如emp.='
1.0'
encoding='
UTF-8'
?
!
DOCTYPE="
deptno"
type="
java.lang.Integer"
generatorclass="
assigned"
generator>
说明主键类型
id>
propertyname="
dname"
column="
java.lang.String"
property>
ioc"
setname="
emp"
keycolumn="
key>
one-to-manyclass="
com.ibm.vo.Emp"
set>
class>
然后将其在applicationContext.xml中配置:
mappingResources"
<
list>
<
value>
xmlUser.,在该类中定义一个EmpService类型的属性,并写其set方法,然后在execute方法中进行操作。
10、将DAO、Service中所有的类和Action类注入到applicationContext.xml的Bean中,而且有属性的一定要配置属性,然后在Struts-config.xml中写:
actionpath="
addEmp"
注:
此处的path应与applicationContext.xml中的name一致,Action注入bean时应用name而不用id
name="
addEmpForm"
attribute="
scope="
request"
input="
addEmp.jsp"
org.springframework.web.struts.DelegatingActionProxy"
代理
forwardname="
success"
path="
addSuccess.jsp"
forward>
action>
11、在applicationContext中配置事物:
--进行事务处理-->
beanid="
transactionManager"
class="
org.springframework.orm.>
--进行DAO代理-->
userDaoProxy"
org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
reflocal="
target"
deptDAOImpl"
--如果没有事务就新建一个事务-->
transactionAttributes"
props>
propkey="
*"
PROPAGATION_REQUIRED<
prop>
bean>
org.apache.struts.validator.ValidatorPlugIn"
pathnames"
WEB-INFvalidator-rules.xml,WEB-INFvalidation.xml"
13、在WEB-INF下建立validation.xml,其头部为:
DOCTYPEform-validationPUBLIC
"
-ApacheSoftwareFoundationDTDCommonsValidatorRulesConfiguration1.1.3EN"
:
strutsAction
包结构可以根据自己需要自行划分
新建一个UserLibrary:
sshJars
添加jar文件:
将新建的UserLibrary:
sshJars加入到项目中:
6.3撰写资源文件
jdbc.properties
在jdbc.properties里写上连接数据库的配置信息,此文件的配置信息用于在spring的配置文件中使用,数据库的配置信息也可以写到Spring的配置文件中,这在一个jdbc.properties文件中是为了方便更改.
各文件详细内容及说明如下:
-----
applicationContext.xml:
xmlversion="
1.0"
encoding="
UTF-8"
beansxmlns="
="
Spring公共配置文件<
description>
--属性文件读入-->
propertyConfigurer"
org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
locations"
<
classpath*:
comsshconfigjdbc.properties<
--数据源配置,主要用于开发测试环境-->
dataSource"
org.springframework.jdbc.datasource.DriverManagerDataSource"
driverClassName"
${jdbc.driverClassName}"
>
url"
${jdbc.url}"
username"
${jdbc.username}"
password"
${jdbc.password}"
--数据源配置,在生产环境使用应用服务器的数据库连接池-->
--<
jee:
jndi-lookupid="
jndi-name="
java:
compenvjdbcstore"
-->
--Hibernate配置-->
sessionFactory"
org.springframework.orm..AnnotationSessionFactoryBean"
—此处hibernate的映射采用的是.xml配置则应设置为:
class=”org.springframework.orm.”-->
ref="
_file_resource_path"
ehcache->
--事务配置-->
--
JTA环境的事务配置<
org.springframework.transaction.jta.JtaTransactionManageror
WebLogicJtaTransactionManager"
-->
--使用annotation定义事务-->
tx:
annotation-driventransaction-manager="
beanclass="
org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"
beans>
applicationContext-security.xml:
beans:
userService"
com.ssh.service.UserService"
beanname="
.HelloAction"
Service(业务逻辑类)的注入
ehcache--servlet.xml
各文件内容如下:
UTF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SSH 框架 搭建 实例教程 毕业 课程设计