您的位置:首页 > 编程语言 > Java开发

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

2016-06-19 23:47 627 查看
在学习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进行构建的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts