图解SSH框架配置步骤
ssh框架原理及流程

ssh框架原理及流程SSH框架原理及流程。
SSH框架是指Struts、Spring、Hibernate三个开源框架的整合,它们分别解决了Web层、业务逻辑层和数据访问层的问题。
在实际开发中,SSH框架已经成为了JavaEE开发的主流框架之一。
本文将从SSH框架的原理和流程两个方面进行介绍。
首先,我们来了解一下SSH框架的原理。
Struts框架主要用于处理Web层的请求,它采用MVC(Model-View-Controller)的设计模式,将应用程序分为模型、视图和控制器三个部分。
Spring框架是一个轻量级的IoC(控制反转)和AOP(面向切面编程)容器,它提供了一个全面的基础设施,用于构建企业级应用。
Hibernate框架则是用来解决数据访问层的问题,它是一个强大的、高性能的对象关系映射(ORM)框架,能够将对象和数据库表之间进行映射,从而简化了数据访问层的开发。
接下来,我们将介绍SSH框架的流程。
首先,用户发送请求到Struts的Action,Action根据请求调用相应的业务逻辑,然后将处理结果返回给用户。
在这个过程中,Spring负责管理业务逻辑组件,提供了IoC容器和AOP框架的支持。
同时,Hibernate负责处理数据的持久化,它可以通过配置文件来映射Java对象和数据库表,从而实现数据的增删改查操作。
整个流程中,三个框架各司其职,相互配合,使得开发变得更加高效和简洁。
总结一下,SSH框架的原理是由Struts、Spring、Hibernate三个框架整合而成,分别解决了Web层、业务逻辑层和数据访问层的问题。
在实际开发中,SSH框架的流程是用户发送请求到Struts的Action,Action调用业务逻辑,Spring负责管理业务逻辑组件,Hibernate负责数据持久化。
三个框架相互配合,使得开发变得更加高效和简洁。
通过本文的介绍,相信读者对SSH框架的原理和流程有了更深入的了解,希望能够对大家在实际开发中有所帮助。
图文并茂搭建SSH框架

以下为个人学习中的心得,希望能为想用SSH(struts+spring+hibernate)框架下做项目但又不太清楚搭建SSH框架的友友们提供一点帮助。
首先创建一个web project工程工程名可自定义为其它Finish后创建struts我先的是struts 2.1点击next勾选上Struts 2 Core Libraries和Struts 2 Spring Librariesfinish接下来要为工程添加Spring我先在web.xml中添加一个listener节点代码如下图中下一步进入到datebase布局下操作如下图在左边DB Browser区域处右键 new配置如下:(注需要add一个mysql-connector-java-5.1.12-bin.jar jar包)Next finishOK!接下来再回到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。
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框架的搭建第一步:初建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框架搭建图解

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流程分解及其配置

Struts工作原理流程第一:在web应用启动时就会加载初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象,例如:Action的映射信息存放在ActionMapping对象中.当ActionServlet接收到一个客户请求时,将执行如下流程.-(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;-(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;-(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm 的validate()方法;-(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象,就表示表单验证成功;-(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;-(6)Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件;-(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;第二:在web服务器启动的时候就会自动加载ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把他们存放到各种配置对象当ActionServlet接收到一个客户请求的时候,将执行如下流程:(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm中(3)根据配置信息决定是否需要表单验证,如果需要验证,就调用ActionForm的validate()方法;(4)在ActionForm()的方法返回一个null或者一个不包含ActionMeassage的ActionError 对象,就表示表单验证通过(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发个哪个Action,如果相应的Action不存在,就创建这个实例,再调用其execute()方法(6)Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象所指的jsp组建(7)ActionForward对象指向jsp组件生成的动态网页,返回给客户。
搭建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@。
搭建SSH框架步骤.

搭建SSH框架步骤一、建数据库二、建Web工程打开Eclipse在工程栏—>鼠标右击New—>选择Web project—>project Name输入Demo;勾起Java 5.0单选按钮—>完成—>在Src文件夹下创建dal、bll、entity、、bll.action三个包以及两个子包。
三、添加框架1. 添加Struts选中所建的Web工程—>鼠标右击选择MyEclipse—>选择Add StrutsCapabilites…—>Struts specification选择Struts1.2;Base package fornew class单击Brouse选择文件路径为dal包;勾掉多选按钮Install StrutsTLDs —>完成2. 添加Spring选中所建的Web工程—>鼠标右击选择MyEclipse—>选择Add SpringCapabilites…—>勾起多选按钮Spring 2.5 Aop Libraries;勾起多选按钮Spring 2.5 Core Libraries;勾起多选按钮Spring 2.5 Persistence Core;勾起多选按钮Spring 2.5 Web Libraries;勾起单选按钮Copy checked Librarycontents…—>单击Browse选择路径为WEB-INF包—>完成3. 添加Hibernate选中所建的Web工程—>鼠标右击选择MyEclipse—>选择Add HibernateCapabilites…—>勾起单选按钮Copy checked Library Jars to…—>选择Spring configuration file—>选择Existing Spring configuration file;SessionFactory Id 输入sessionFactory —>BeanId输入DemoBean;DBDriver选中自己所建的数据库—>勾掉Create Session Factory class? —>完成4. 将SSH架包粘贴到lib文件夹下5. 展开工程中的Referenced Libraries 文件夹(架包文件夹)—>在展开的文件中找到asm-2.23.jar文件—>右击Build path—>选择Remove from Build path —>删除文件asm-2.23.jar四、创建数据单击Eclipse右上角的MyEclipse Hibernate 按钮—>鼠标右键New—> Driver template 下拉选择Microsofe SQLServer 2005;Drever name输入DemoDB;Connection URL 输入jdbc:sqlserver://localhost:1433;User name 输入sa; password输入123456;单击Add JARs 按钮导入jdbc 包;勾起Save password多选按钮—>勾起Display the selected schemas 单选按钮;单击Add按钮导入数据库—>完成—>鼠标右击数据栏刚才所建的数据—>单击Open Connection —>选择dbo —>TABLE—>找到对应的表—>右击Hibernate Reverse Euginnering…—>单击Java src folder 的Brouse按钮选择包entity;勾Creat POJO <>DB…;勾起Java Data Object…;勾起Java Data Access Object…;勾掉Java Data Object…下面的Create abstract class—>在Id Generator 下框中选择native—>勾起Include referenced tables(AB;勾起Include referencing tables(AB;可以给表或者其中的属性起相应的名字,当然也可以不起让其自动生成—>完成五、配置XML文件1.配置Struts-config.xml文件在下面添加标签注:找到Referenced Libraries 包下面的spring-webmvc-struts . jar包复制文件即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图解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的包下载下来哦,下载地址上面已经给出了。
3 配置Struts2.03.1 基础配置1)引入Struts必需的五个jar包。
下载struts-2.1.6-all.zip解压后,struts-2.1.6\lib目录下是struts所有的相关jar包。
这么多jar包并不是struts 必须得,使用struts只需要把下面五个引入即可,以后用到什么jar包,再引入。
✧Commons-logging-1.0.4.jar✧Freemarker-2.3.13.jar✧Ognl-2.6.11.jar✧Struts2-core-2.1.6.jar✧Xwork-2.1.2.jar2)修改WEB-INF下的web.xml文件,增加struts2的配置。
增加代码如下:这些配置代码对于struts2是不变的,直接复制到web.xml即可。
<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>3)添加struts配置文件。
在WEB-INF/classes目录下,新建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>好了,struts基本配置完毕,是不是很简单?现在把工程发布到tomcat上去测试一下,在工程名字上点击右键,选择MyEclipse→Add and Remove project Deployments,在打开的窗口里,点击Add,选择我们之前配置好的tomcat6服务器,如下图:发布好了,启动tomcat,如果启动无异常,则说明配置成功。
注意:可能会出现struts-default.xml相关异常,根据提示引入相关jar包。
我测试的时候是缺少fileupload相关jar包,于是引入了commons-fileupload-1.2.1.jar。
3.2 配置一个Action下面开始配置一个Action吧,以用户登录为例:1)首先新建一个登陆页面login.jsp,代码如下:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>登录</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"></head><body><s:form name="form1" action="login"><s:textfield name="username" label="username"></s:textfield><s:password name="password" label="password"></s:password><s:submit label="submit"></s:submit></s:form><s:actionerror/></body></html>2)在我们已经建好的struts.xml中来配置登录的action。
这里定义登录action 的名字为login,配置代码如下:<?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><package name="struts2" extends="struts-default"><action name="login" class="test.LoginAction"><result name="success" type="redirect">index.jsp</result><result name="input">login.jsp</result><result name="error">login.jsp</result></action></package></struts>3)下面就来编写具体的action类了。
代码如下:1package test;2import com.opensymphony.xwork2.ActionSupport;3public class LoginAction extends ActionSupport {4public String username;5public String password;6public String execute(){7if(!username.equals("admin")){8super.addFieldError("username", "用户名错误!");9return ERROR;10 }11if(!password.equals("001")){12super.addFieldError("password", "密码错误!");13return ERROR;14 }15return SUCCESS;16 }17public void validate(){18if(username==null||username.length()==0){19super.addActionError("用户名不能为空");20 }21if(password==null||password.length()==0){22super.addActionError("密码不能为空");23 }24 }25}264)好了,一个Action就创建完成了,重启tomcat测试一下吧。