Struts2学习(一)--maven搭建Struts2框架的开发环境

来源:互联网 发布:千元头戴式耳机 知乎 编辑:程序博客网 时间:2024/05/17 01:27

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

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

技术优势

Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Servlet API揭示了Java Servlet只是Java API的一个很小子集,这样我们可以在业务逻辑部分使用功能强大的Java语言进行程序设计。二是提供了对MVC的一个清晰的实现,这一实现包含了很多参与对所以请求进行处理的关键组件,如:拦截器、OGNL表达式语言、堆栈。

sturst2也是采用mvc思想编写的

使用Maven搭建Struts2框架的开发环境

创建基于Maven的Web项目

这里写图片描述

这里写图片描述
这里写图片描述
我使用的是Eclipse,创建好的Web项目如下所示:
这里写图片描述
这里出现错误首先是因为没有加入tomcat
项目名右键选择Properties ,接着
这里写图片描述
就解决问题了
eclipse创建maevn web项目,在选择maven_archetype_web原型后,默认只有src/main/resources这个Source Floder。
按照maven目录结构,添加src/main/java、src/test/java等Source Floder时,会报目The folder is already a source folder的错误。
解决办法:用Navigator视图,直接在src/main目录下建立java目录。
分析原因: 项目属性->Java Build Path->Source,会看到src/main/java, src/test/java已存在,但是Missing。所以只需要创建目录,Source Floder就出现了。如图:
这里写图片描述
到这里 一个基于maven的javaweb就建成了

搭建Struts2的开发环境

由于我们是使用Maven管理项目中的jar包的,所以我们需要在pom.xml文件中添加Struts2框架的核心jar包的描述。

编辑pom.xml文件

添加添加Struts2框架的核心jar包的描述,如下:
  

  <dependencies>   <dependency>        <groupId>junit</groupId>    <artifactId>junit</artifactId>    <version>4.12</version>        <scope>test</scope>    </dependency>    <!--Struts2框架的核心jar包 -->    <dependency>    <groupId>org.apache.struts</groupId>    <artifactId>struts2-core</artifactId>    <version>2.3.16.1</version></dependency><dependency>    <groupId>log4j</groupId>    <artifactId>log4j</artifactId>    <version>1.2.14</version></dependency>  </dependencies>

我们只添加了Struts2框架的核心jar包的描述,保存pom.xml文件,但此时Maven会自动帮我们把struts2-core这个jar包依赖的其他相关jar包导入到我们的Web项目当中,这就是使用maven管理jar包的好处,如下图所示:
这里写图片描述

添加Struts2框架的配置文件struts.xml

Maven约定,web项目开发中的使用到的配置文件都要放到【src/main/resources】这个Source Folder下,如下图所示:
这里写图片描述
编辑struts.xml文件,添加简单的配置信息如下:

<?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.devMode" value="true"></constant>    <package name="basicstruts2" extends="struts-default">    </package>    <include file="example.xml" /></struts>

在web.xml文件中配置Struts2的核心过滤器

 <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>

struts2的基本配置已经完成了 ,让我们创建一个jsp页面测试一下吧

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Struts2 Test</title></head><body><h1>Hello Struts2</h1></body></html>

在struts.xml文件中配置Action

<?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.devMode" value="true"></constant>    <package name="basicstruts2" extends="struts-default"><action name="index" class="com.opensymphony.xwork2.ActionSupport"            method="execute">                <result name="success"  >/index.jsp</result>    <!--    type 属性 值 如果不写 就是默认转发 redirect : 重定向             <result type="redirect">            <param name="location">/index.jsp</param>            </result>        -->        </action>    </package>    <include file="example.xml" />    <!-- Add packages here --></struts>

运行 在浏览器上输入
http://localhost:8080/Struts2MavenDemo/index.action
可以访问到index.jsp
这里写图片描述

以上就是在Eclipse中使用Maven搭建Struts2框架的开发环境的相关介绍,使用了Maven之后,大大提高了框架开发环境的搭建速度,起码我们不再需要关心Struts2框架的开发环境需要哪些jar包,我们只需要引入Struts2的核心jar包struts2-core,然后Maven就会自动帮我们把struts2-core这个jar包的相关依赖jar全部加入到项目中,将web应用中的jar包全部交给Maven进行管理是一种非常好的做法,现在主流的项目都是采用Maven进行构建的。

0 0
原创粉丝点击