struts2的运行环境认识

纯JSP:HTML代码负责页面的布局和显示外观,Java代码负责提取动态数据,实现业务逻辑。缺点:代码的可读性变差,维护难度增加,不利于人员分工。
Model1:JSP+JavaBeans,缺点:在JSP页面中嵌入过多的Java代码(包括流程控制代码和部分的逻辑处理代码)。
Model2:JSP+Servlet+JavaBeans,符合MVC架构模式。缺点:存在多个控制器,在编写控制器时,对于页面导航的处理会比较复杂。

基于MVC架构模式的Web应用程序
相同点是MVC架构的调用流程
第一:所有的请求直接访问控制器,由控制器对请求进行分发;
第二:控制器实例化JavaBean对象,由JavaBean对象处理业务逻辑以及承载数据;
第三:控制器根据请求处理的结果,向用户呈现相应的视图。
不同点:
第一:用户请求URL的不同对应了不同的处理单元;
第二:不同表单提交的数据需要不同的JavaBean对象来保存数据;
第三:请求处理结果的不同导致控制器向用户呈现不同的视图。
由此衍生出了基于MVC架构模式的Web开发框架,其中之一就是Struts。在Struts中,对于需要变化的地方(即上述的不同点)采用外部配置文件的方式来解决。

Struts框架历史
2000年5月,Craig R.McClanahan(1960年出生于丹麦Aarhus)提交雏形版本的Struts框架。
2001年6月,Struts1.0发布。
2007年,Struts2推出。
2010年12月20日,Struts 2.2.1.1发布。
2011年5月5日,Struts 2.2.3发布。
2011年9月7日,Struts 2.2.3.1发布。


1、准备工作:
Struts2的最低要求是Servlet API 2.4, JSP API 2.0, Java 5, Tomcat 5。
第一步:创建Web工程。
第二步:添加Struts2应用最少所需的jar包(不需要添加下载包中的所有jar包)。
struts-2.0.14最少所需的jar包:
struts2-core-2.0.14.jar
xwork-2.0.7.jar
ognl-2.6.11.jar
freemarker-2.3.8.jar
commons-logging-1.0.4.jar

struts-2.2.3最少所需的jar包:
struts2-core-2.2.3.jar
xwork-core-2.2.3.jar
ognl-3.0.1.jar
freemarker-2.3.16.jar
javassist-3.11.0.GA.jar
commons-logging-1.1.1.jar
commons-io-2.0.1.jar
commons-fileupload-1.2.2.jar
commons-lang-2.5.jar

第三步:配置Struts2控制器。
在Struts2.0中提供了一个核心控制器,用于对所有的请求进行统一处理,由名字为org.apache.struts2.dispatcher.FilterDispatcher的Servlet过滤器充当的,需要在web.xml文件中配置该过滤器。
<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>

在Struts2.2中该控制器由名字为org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter的Servlet过滤器充当的,需要在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>

第四步:在类路径(classes)下面添加struts.xml文件,即在src下面添加struts.xml文件。struts.xml文件模板可以从example.xml(struts2下载包中的apps\struts2-blank\WEB-INF\classes目录)中获取:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <!-- package元素将多个action元素组织为一个逻辑单元 -->
    <package name="default" namespace="/" extends="struts-default">   
     <action name="login" class="com.struts2.action.LoginAction">
      <!-- 当name是success时可以省略不写 -->
      <result name="success">/result.jsp</result>
     </action>
     <!-- 使用struts2标签,验证是否填写了表单内容 -->
     <action name="login2" class="com.struts2.action.Login2Action">
      <result>/result.jsp</result>
      <result name="input">/login2.jsp</result>
      <result name="failure">/login2.jsp</result>
     </action>
    </package>
</struts>
struts.xml中的<result>/result.jsp</result>没有指定name时,name的默认值是success。

2、开发简单的Struts2应用(使用HTML form),编写一个Action类不继承Struts2的ActionSupport:
添加public String execute() throws Exception方法
 
3、开发简单的Struts2应用(使用Struts2 form),编写一个Action类不继承Struts2的ActionSupport:
添加public String execute() throws Exception方法
Struts2中的form标签method属性默认值是post。
表单:<s:form action="login" namespace="/"></s:form>此处的action可以是login,或者login.action
文本框:<s:textfield name="userName" label="用户名"/>
密码框:<s:password name="password" label="密码"/>
提交按钮:<s:submit value="登录"/>

4、开发简单的Struts2应用(使用Struts2 form),编写一个Action继承Struts2的ActionSupport:
添加public String execute() throws Exception方法
public void validate()方法
错误信息:
严重: HTTP Status 404
Could not find action or result. No result defined for action com.struts2.action.LoginAction and result input - action
解决办法:在struts.xml中给LoginAction增加result标签,该标签的name属性值设置为input即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Struts2环境配置,你需要进行以下步骤: 1. 下载Struts2框架:你可以从官方网站(https://struts.apache.org/download.cgi)下载最新的Struts2版本。 2. 解压下载的文件:将下载的压缩包解压到你选择的目录。 3. 配置Struts2库:在你的项目中创建一个lib目录,并将解压后的文件中的所有JAR文件复制到该目录中。 4. 创建Web应用程序:在你的IDE中创建一个新的Web应用程序,并设置正确的项目结构和Web应用程序描述符。 5. 配置web.xml文件:在web.xml文件中添加Struts2的过滤器和监听器,以及其他必要的配置。你可以参考官方文档(https://struts.apache.org/core-developers/webxml.html)来了解详细配置信息。 6. 创建Struts2配置文件:在你的项目中创建一个struts.xml文件,并配置Struts2的相关设置,包括拦截器、动作映射等。你可以参考官方文档(https://struts.apache.org/core-developers/struts-xml.html)来了解如何编写配置文件。 7. 创建Action类:在你的项目中创建Action类,用于处理用户请求。Action类需要实现Action接口或继承自已有的Action类,并实现相应的方法。 8. 创建JSP视图:创建与Action对应的JSP视图,用于展示数据和与用户交互。 以上是Struts2环境配置的基本步骤,你可以根据你的项目需求进行更详细的配置和开发。希望对你有所帮助!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值