图文并茂搭建SSH框架

合集下载

ssh架构是什么

ssh架构是什么

SSH架构简介SSHSSH 在J2EE项目中表示了3种框架,即Struts +Spring +HibernateSSH总体结构图数据持久层Hibernate,xx业务逻辑层Spring,WebService表现层Struct,Jsp,Xml,Json当我们为web应用程序创建一个构架时,需要涉及到相当多的问题。

这其中,首要的就是框架问题。

一个好框架具备以下几点:减轻开发者处理复杂的问题的负担;内部定义为可扩展的;有一个强大的用户群支持。

框架通常能够很好的解决一方面的问题。

好的框架自然的形成代码如何分布的指导。

更重要的是,框架减轻开发者从头开始写像持久层这样的代码的痛苦,使他们专注于对客户来说很重要的应用逻辑。

通过组合Struts ,Spring ,Hibernate这几个著名的框架,可以做到松耦合的目的,让各个应用层保持一致。

组合这些框架使得每一层都以一种松耦合的方式彼此沟通,而与底层的技术无关。

Struts简介Struts对Model,View和Controller都提供了对应的组件(MVC)。

Model部分由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。

JavaBean则封装了底层的业务逻辑,包括数据库访问等。

View部分该部分采用JSP实现。

Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。

对应上图的JSP部分。

Controller组件Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。

系统核心控制器,对应上图的ActionServlet。

该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。

SSH2详细(框架搭建)

SSH2详细(框架搭建)

applicationContext.xml常用配置:
sessionFactory配置:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactor yBean">
<filter-name>struts</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
第五页,编辑于星期三:六点 八分。
struts2相关配置
struts.xml文件配置 在项目src目录下添加struts.xml配置文件。其基本配置如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
一个属性被映射为主键 . 置于 getXxxx() 前 .
第十七页,编辑于星期三:六点 八分。
JPA相关注解
@GeneratedValue(strategy=GenerationType,generator="")
可选
strategy: 表示主键生成策略 , 有 AUTO,INDENTITY,SEQUENCE 和 TABLE 4 种 , 分别表示让 ORM 框架自动选择 ,

ssh框架的搭建

ssh框架的搭建

SSH框架的搭建第一步:初建Web Project,项目名为demoSSH;第二步:添加Struts框架,此处添加的是struts1.2版本第三步:添加Spring框架,版本Spring1.2注意:添加类库时,别忘了Spring1.2 Web Librabries第四步,打开DB Browser,初建数据库连接jbpm第五步:添加Hibernate框架,版本Hibernate3.1注意:此处的DB Driver选择第四步创建的数据库连接jbpmExistingSSH框架支持已经全部倒入成功了。

这时候看我们的web工程会发现下图的现象:接下来,我们只要添加和去除几个包就可以解决了。

鼠标右键点击工程名称,在右键菜单中选择Properties:此时会弹出下图中的窗口,点击Java Build Path,就会变成我下图所示的样子了。

选择Liberties,将里面的asm.jar和以log4j开头版本较低的jar包删除(如果有两个log4j JAR包的话则删除版本较低的)。

然后点击你的工程进入WebRoot文件夹下的lib文件夹同样删除这两个jar包。

(如果不按照以上步骤,你也可以进入你工程的保存路径,同样找到工程下的WebRoot文件夹下的lib目录,删除以上两个jar包。

)然后进入你的MyEclipes安装路径,我的MyEclipes是安装在F:\Program Files\路径下的。

然后按照以下路径去寻找两个jar包。

MyEclipse6.6\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_6.6.0.zmyeclipse 660200810\data\1.2\lib\dependencies\jakarta-commons这是我们需要的那两个jar包的最终路径,所需要的jar包的名称分别是:commons-dbcp.jar和commons-pool.jar。

SSH框架建立过程

SSH框架建立过程

三大框架搭建步骤:先在数据库中建立库表。

新建web project选择java EE 5.0,在src中建立相应的包,右击工程名MyEclipse->add Hibernate Capabilities...,选择Annotations&Entity Manager及Core Libraries两个jar包,点击“next”点击“next”,选择数据库连接名,点击“finish”。

打开“MyEclipse Database Explorer perspective”窗口,找到之前在数据库中建立的表,选择表,右击选择“Hibernate Reserve Engineering”点击“next”选择“sequence”。

点击“finish”。

在hibernate.cfg.xml中添加“show-sql”值为“true”。

将struts的jar包classes12.jar,commons-logging-1.0.4.jar,freemarker-2.3.8.jar,jstl.jar,ognl-2.6.11.jar,standard.jar,struts2-core-2.0.11.1.jar,struts2-spring-plugin-2.0.11.2.jar,xwork-2.0.4.jar粘贴复制到WebRoot->WEB-INF->lib中。

将lib下的web.xml打开,配置如下:<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/classes/applicationContext.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class ></listener><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>在src下新建struts.xml,配置如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""/dtds/struts-2.0.dtd"><struts><!-- struts的注入交给spring去控制--><constant name="struts.objectFactory" value="spring"/><include file="struts-default.xml"/><!-- Add packages here --><package name="struts" extends="struts-default"><action name="login" class="userAction" method="login"><result name="success">/writeDiary.jsp</result><result name="input">/login.jsp</result></action></package></struts>工程名右击:MyEclipse->Add Spring Capabilities…及Spring 2.5 J2EE Libraries和Spring 2.5 Web Libraries点击“next”点击“next”点击“finish”。

SSH框架搭建图解

SSH框架搭建图解

MyEclipse开发SSH框架搭建(Struts+Spring+Hibernate)1.1. 新建工程操作:[Menu] File/New/Web Project工程名:school2. Struts 部分2.1. 添加Struts 功能支持操作:选1.3将Base package for new classes改为com.dp.school 2.2. 创建ActionForm 类操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.3 Form 类名:LoginFormuserCase:LoginForm type: com.dp.school.actionForm.LoginForm在“Form Properties” 选项卡为loginForm 新增两个属性:userName、password;在“JSP” 选项卡钩选“Create JSP form” 选项,将新建路径改为“/user/login.jsp”(login.jsp文件将被自动创建)。

2.3. 创建Action 类操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.3 Action类名:LoginActionuserCase loginform选项卡的name点Browse…选loginFormInput Source点Browse…选user文件夹下的login.jsp2.4. 创建index.jsp 文件如果没有,创建index.jsp 文件,并添加一个指向login.jsp 的链接:<a href=”user/login.jsp”>Login</a>。

(user/login.jsp是school下路径,/user/login.jsp是绝对路径,直接http://localhost:8080/user/login.jsp)<%@page language="java"import="java.util.*"pageEncoding="GB2312"%> <%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"> <meta http-equiv="description"content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><a href="user/login.jsp">登陆</a></body></html>2.5. 创建Forword类操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.3 Forword类名:indexForwordName: indexPagePath: /index.jsp2.6. 修改LoginAction.java 文件修改LoginAction 类的execute 方法:/** Generated by MyEclipse Struts* Template path: templates/java/JavaClass.vtl */package com.dp.school.action;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.dp.school.actionForm.LoginForm;/*** MyEclipse Struts* Creation date: 11-06-2009** XDoclet definition:* @struts.action path="/login" name="loginForm" input="/user/login.jsp" scope="request" validate="true"*/public class LoginAction extends Action {/** Generated Methods*//*** Method execute* @param mapping* @param form* @param request* @param response* @return ActionForward*/public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stubString userName = loginForm.getUserName();String password = loginForm.getPassword();if(userName.equals("test")||password.equals("test")){return mapping.findForward("indexPage");}else{return mapping.getInputForward();}}}2.7. 修改login.jsp 文件修改<html:form> 标签:<html:form action=”/login”>。

ssh整合框架原理及流程

ssh整合框架原理及流程

ssh整合框架原理及流程SSH(Spring、Struts和Hibernate)框架整合的原理和流程如下:原理:1. 控制反转(IoC):IoC是一种设计原则,通过这种原则,对象之间的依赖关系由容器来控制,而非传统的直接操控。

这使得程序代码更加灵活,易于复用。

2. 依赖注入(DI):DI是IoC的一种实现方式。

通过DI,组件之间的依赖关系由容器在运行时决定,并动态地将这种关系注入到组件中。

流程:1. 建立web工程,并将其编码设置为UTF-8。

2. 将整个JSP页面也设置为UTF-8编码格式。

3. 建立三个source folder文件:src(存放源代码)、config(存放所有的配置文件,如Struts、Hibernate和Spring配置文件)、test(存放测试类)。

4. 在WebRoot\WEB-INF\lib中导入相应的jar包。

5. 配置文件。

在这个文件中,Spring容器以监听器的形式与Tomcat整合。

6. Struts负责控制Service(业务逻辑处理类),从而控制Service的生命周期。

这样层与层之间的依赖很强,属于耦合。

7. 使用Spring框架来控制Action对象(Struts中的)和Service类。

这使得两者之间的关系变得松散。

Spring的IoC机制(控制反转和依赖注入)正是用在此处。

8. Spring的AOP应用:事务的处理。

在以往的JDBCTemplate中,事务提交成功、异常处理都是通过Try/Catch来完成。

整合SSH框架的目的是提高软件开发的效率和灵活性,减少代码的冗余和复杂性,使代码更易于维护和扩展。

图解SSH框架配置步骤

图解SSH框架配置步骤

图解SSH框架配置步骤核心提示:现在开发的一个项目使用S2SH框架,配置环境用了一两天,现在把当时配置环境时写的文档整理下发出来,也算加强点记忆。

1 开发环境 MyEclipse5.5 JDK 1.6 Java EE 5.0 Tomcat6.0 Struts2.1.6 Spring2.5.6 Hibernate3.3.1 2 为 ssh 做好准备 2.1 下载包 Struts2现在开发的一个项目使用S2SH框架,配置环境用了一两天,现在把当时配置环境时写的文档整理下发出来,也算加强点记忆。

1 开发环境MyEclipse5.5JDK 1.6Java EE 5.0Tomcat6.0Struts2.1.6Spring2.5.6Hibernate3.3.12 为ssh做好准备2.1下载包Struts2.1.6包下载:/download.cgi#struts216Full Distribution:o struts-2.1.6-all.zip (110mb) [PGP] [MD5]Hibernate3.3包下载:https:///6.htmlSpring2.5下载:/download2.2搭建开发环境打开MyEclipse,新建一个web project,如图:注意:J2ee版本设为java ee 5.0点击Finish完成,建好的工程如图:如果你的myeclipse还没有配置一个web服务器,那就进行下面的步骤,这里以tomcat6为例:打开MyEclipse Preferences窗口,展开目录树如下图:设置好你的tomcat6的路径即可,前提你要先安装好tomcat哦。

还有需要注意的一点是,看到目录树tomcat6.x下面的JDK了吗?点击它,也要把tomcat的JDK设为jdk1.6才行,以与myeclipse一致。

好了,工程已经建好了,下面就开始配置struts吧。

配置之前先把struts的包下载下来哦,下载地址上面已经给出了。

搭建SSH框架(Struts1,Spring2.5,Hibernate3)

搭建SSH框架(Struts1,Spring2.5,Hibernate3)

搭建SSH框架:Struts1.* + Spring2.5 + Hibernate3.0 一,项目结构:图(1)Jsp页面省略,主要是一些添删改查的页面;二,开始搭建项目环境,步骤如下:使用平台:MyEclipse6.0/6.5框架版本:Struts1.* + Spring2.5 + Hibernate3.0;1,添加过程:1>,新建项目: 打开MyEclipse,在Package Explorer视图下,右键单击New-> Web Project;注意:在新建项目时,JDK的版本最好要选择Java EE 5.0;因为版本过低,可能有些JSP方面的功能不支持;新建玩项目之后,把该导的包导入到下面,下图为SS H 框架所需要的Jar包,注意,该项目用的是ORACLE数据库;其中,activation与mail这两个包为Java发邮件的包;classes12为Oracle数据库的驱动包,如果不是Oracle数据库,可更换该Jar包;dwe为Ajax dwr 框架中的包;2>,接着就开始用MyEclipse辅助开发Struts,Spring,Hibernate了;3>,首先MyEclipse辅助开发Struts,方法:右键单击你所建的项目,出现一级菜单,选择Myeclipse,选择Myeclipse之后会出现二级菜单,接着选择Add Struts Capabilities;;接着具体操作如下面图示:点击Finish按钮完成;完成之后,可将包删除;在上图中,如果那个勾没有去掉的话,就会自动生产如下标签:当然,如果你觉得标签对你没什么用的话,可以删除;如果该勾去掉的话,就只生成标签,这是Struts的核心标签;4>,MyEclipse辅助开发Spring,方法跟上面的一样,选择Add Spring apabilities;;接着具体操作如下面图示:然后点击Next,具体操作如下图:接着点击 Finish按钮,完成此项操作;5>,,最后MyEclipse辅助开发Hibernate,在执行和上面类似方法之前,Hibernate 需要先做另外一件事情,那就是和数据建立连接,具体操作如下图:点击上图位置的或者右边的>> ,然后再选择MyEclipse Database Explorer切换到如下图页面:,然后右键单击,新建一个Database Driver;如下图:下面这个截图是该项目的数据库链接图:如图所示,测试数据库链接成功;然后可直接点击Finish完成;接着切换到窗口,按照上面第三小步的方法,选择Add Hibernate apabilities;;接着具体操作如下面图示:点击下一步:点击下一步:点击下一步:点击下一步:点击 Finish 完成;6>,最后一步,就是运用Hibernate的映射机制,把数据库的表与JAVA的对形成一个关系映射;在此之前,首先应该在项目SRC的目录下面新建一个包,如该项目所示,用来存放映射生成的POJO对象以及映射文件;如下图:有一点说一下,你生成的*.hbm.xml文件可能不止一个,对,你可以把它们整合到一个文件中;然后新建按第五小步的方法,把窗口切换到MyEclipse Database Explorer界面,然后打开右键刚才所建立的链接,选择属于你自己的用户;然后选择Tble;右键选择如上图的属性:接下来的操作如下图:点击 Next,进入下一步:点击 Next,进入下一步:至此,项目环境己经搭建完成;三,项目搭建完成,SSH各个部分配置文件的说明,以及它们之间存在的关系:1,首先是Struts的核心配置文件,即struts-config.xml:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN""/dtds/struts-config_1_2.dtd"><struts-config><data-sources /><form-beans><!—建立Form表单,在此处进行登记 -→<form-bean name="userForm"type="erForm" /> </form-beans><global-exceptions /><global-forwards /><!—各个Action对应与之相对应的表单 -→<action-mappings><!-- 用户管理 --><action parameter="opers" attribute="userForm" name="userForm"path="/doUser" scope="request"><forward name="login_ok" path="/welcome.jsp"></forward><forward name="login_no" path="/index.jsp"></forward> </action></action-mappings><controllerprocessorClass="org.springframework.web.struts.DelegatingRequestProc essor"></controller><message-resourcesparameter="ermanagerview.struts.ApplicationResources"> </message-resources><!—Spring辅助Struts管理Struts-→<plug-inclassName="org.springframework.web.struts.ContextLoaderPlugIn"><set-property property="contextConfigLocation"value="/WEB-INF/action-servlet.xml" /></plug-in></struts-config>2,其次就是Springd的applicationContext.xml文件和action-servlet.xml文件:applicationContext.xml文件:<?xml version="1.0" encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-2.5.xsd"><!-- Session 工厂 --><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation"value="classpath:hibernate.cfg.xml"><!-- 可以不要配置文件(hibernate.cfg.xml),直接写在这个Spring的配置文件中 --></property></bean><!-- 模板 --><bean id="hibernateTemplate"class="org.springframework.orm.hibernate3.HibernateTemplate"><property name="sessionFactory" ref="sessionFactory" /> </bean><!-- 事务器 --><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManage r"><property name="sessionFactory" ref="sessionFactory" /> </bean><!-- 对外代理 --><!-- 1,用户管理 --><bean id="userDaoImp"class="erDaoImp"><property name="hibernateTemplate" ref="hibernateTemplate" /> </bean><bean id="userServiceTarget"class="erServiceImp"> <property name="userdao"><ref local="userDaoImp" /></property></bean><bean id="userService"class="org.springframework.transaction.interceptor.TransactionProxyF actoryBean"><property name="transactionManager"><ref local="transactionManager" /></property><property name="target"><ref local="userServiceTarget" /></property><property name="transactionAttributes"><props><prop key="*">PROPAGATION_REQUIRED</prop></props></property></bean></beans>action-servlet.xml文件:<!—Spring辅助Struts管理Struts-<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-2.0.xsd"> <bean name="/doUser"class="erAction"scope="prototype"></bean></beans>3,最后就是Hibernate的hibernate.cfg..xml文件:<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools. --><hibernate-configuration><session-factory><property name="ername">wangxiaodong</property><property name="connection.url">jdbc:oracle:thin:@192.168.0.2:1521:ALIZEEDB</property><property name="dialect">org.hibernate.dialect.Oracle9Dialect</property><propertyname="myeclipse.connection.profile">Test</property><property name="connection.password">donny</property><property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property><mappingresource="com/ygkq/usermanager/model/entity/User.hbm.xml" /></session-factory></hibernate-configuration>该文件基本上不用动,都是自动生成的代码;当然,你也可以根据自己的需要添加代码,例如,你想在执行HQL语句的时候让它显示SQL语句,可将<property name="hibernate.show_sql">true</property>插入代码中;另外在图(1)中还有两个配置文件没有提到,那就是log4j.properties 与mytag.tld;其中log4j.properties是配置日志信息的;而mytag.tld主一个自定义标签;四,SSH框架搭建完成:SSH框架基本搭建完成,如果有不对或者不妥之处,请随时指教!~E-mail:jerry8059@。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

以下为个人学习中的心得,希望能为想用SSH(struts+spring+hibernate)框架下做项目但又不太清楚搭建SSH框架的友友们提供一点帮助。

首先创建一个web project工程
工程名可自定义为其它
Finish后创建struts
我先的是struts 2.1
点击next
勾选上Struts 2 Core Libraries和Struts 2 Spring Libraries
finish
接下来要为工程添加Spring
我先在web.xml中添加一个listener节点
代码如下图中
下一步进入到datebase布局下操作如下图
在左边DB Browser区域处右键 new
配置如下:(注需要add一个mysql-connector-java-5.1.12-bin.jar jar包)
Next finish
OK!接下来再回到j2ee布局下为项目添加spring
在此选Spring 2.5,需要勾上五个库文件(Spring 2.5 AOP Libraries、Spring 2.5 Core Libraries、Spring 2.5 Persistence Core Libraries、Spring 2.5 Persistence JDBC Libraries、Spring 2.5 Web Libraries)
Next finish
接下来为工程添加hibernate(可以按图上一步一步来)
Next
接下来打开src下的Struts.xml文件添加如图代码
接下来映射数据库表
进入到database布局下
右键要映射的表选Hibernate Reverse Engineering…
Java src folder 需要点Browser选择你的工程下的src,Java package包名自定义
其中我选择不让自动产生抽象类。

且自建DAO类
点next
当表中主键自增时我们在Id Generator选native否选assigned。

将需要映射的表都按这个顺序添进来
以下为创建DAO接口并创建接口实现类
本文来自人杰地灵博客(),转载请注明出处。

相关文档
最新文档