Struts2之环境配置

Posted 小破孩123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2之环境配置相关的知识,希望对你有一定的参考价值。

在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处?

设计目标

    Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的好处就不在提了。

技术优势

    Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The JavaServlet API揭示了Java Servlet只是Java API的一个很小子集,这样我们可以在业务逻辑部分使用功能强大的Java语言进行程序设计。

    二是提供了对MVC的一个清晰的实现,这一实现包含了很多参与对所以请求进行处理的关键组件,如:拦截器、OGNL表达式语言、堆栈。

 

    因为struts2有这样目标,并且有这样的优势,所以,这是我们学习struts2的理由,下面,我们在深入剖析一下struts的工作原理。

工作原理

    Suruts2的工作原理可以用下面这张图来描述,下面我们分步骤介绍一下每一步的核心内容

  

  看到上面的解释,如果有困惑,先不用着急,我们先做一个实例,通过实例来理解上面的解释,我想这是对于初学者最佳的学习路线,好了,下面我就带领大家一到进入Struts2的世界。

  所谓工欲善其事必先利其器,我们需要先把Struts2的配置jar文件下载好,以便接下来的开发使用,进入Struts官网,下载你需要的Struts版本,这里我们用到的是struts-2.3.16.1,下载好Struts版本,解压,关于jar包的管理,个人建议,大家将我们经常使用的jar文件,统一分类保存在一个位置,这样方便我们后续进行jar的引用,我们知道eclipse为我提供的有一个User libraries,我们可以添加自己的libraries来管理我们的jar文件。

  下载好我们的Struts,下面我们需要下载一个Tomcat服务器,用来部署我们的Struts项目,这里需要说明的时,安装Tomcat之前必须安装JAVA jdk,否则将会出现安装不成功提示,还有一点需要说明的是,Tomcat这里建议大家安装解压版本,方便我们的接下来myEclipse的集成,做好这些准备工作,下面我们就可以开始我们第一个Struts2项目开发了。

  打开我们的myEclipse,将我们刚刚安装好的Tomcat服务器集成上,点击myEclipse上方的Window--》preferences:

  

  配置好Tomcat,下面创建一个Helloword工程,将我们的jar文件导入,这里教大家一个小技巧,这样以后我们再导入jar文件时就会方便很多,具体操作如下:

  

  

  

  导入jar文件后,我们需要配置一些我们的Struts2环境,打开我们的工程WebRoot下的WEB-INF,找到web.xml,添加Struts2的基本配置信息:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    
    <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>
    
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

  配置好我们的web.xml,下面添加我们的Struts.xml文件,这个文件如何编写呢?答案很简单,打开我们的Struts解压文件,找到apps下的struts2-blank,解压该文件,解压后找到struts2-blank\\WEB-INF\\classes下的struts.xml,将这个文件拷贝到我们的工程src目录下,到这里关于Struts开发环境的配置基本完成,下面我们就一起编写一个简单的Helloword,开启我们的Struts2学习之旅。

  我们的Action文件:

public class Helloword {
    public String helloword(){
        return "success";
    }
}

  我们的Struts配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<!--    <constant name="struts.enable.DynamicMethodInvocation" value="false" />-->
<!--     设是否为调试模式 -->
<!--    <constant name="struts.devMode" value="true" />-->

<!--    <package name="default" namespace="/" extends="struts-default">-->

<!--         默认访问文件 -->
<!--        <default-action-ref name="index" />-->

<!--         出错处理文件 -->
<!--        <global-results>-->
<!--            <result name="error">/error.jsp</result>-->
<!--        </global-results>-->

<!--         错误类型 -->
<!--        <global-exception-mappings>-->
<!--            <exception-mapping exception="java.lang.Exception" result="error"/>-->
<!--        </global-exception-mappings>-->

<!--         访问控制 -->
<!--        <action name="index">-->
<!--            <result type="redirectAction">-->
<!--                <param name="actionName">HelloWorld</param>-->
<!--                <param name="namespace">/example</param>-->
<!--            </result>-->
<!--        </action>-->
<!--    </package>-->

<!--    <include file="example.xml"/>-->

    <package name="default" namespace="/" extends="struts-default">
        <action name="helloword" class="com.edu.action.Helloword" method="helloword">
            <result name="success">/index.jsp</result>
        </action>
    </package>

</struts>

  最终的目录结构:

  

  到这里我们的入坑篇就为大家介绍完毕,后续内容持续更新中。。。

以上是关于Struts2之环境配置的主要内容,如果未能解决你的问题,请参考以下文章

struts2之day01——04Struts2相关配置

struts2 框架 的环境搭建 与配置

Struts2之数据校验

Struts2项目搭建之struts.xml配置

struts2基础之配置详解

struts2-环境搭建-访问流程-配置详解-常量配置-类详解