Struts2是一个比较出色的基于MVC设计模式的框架,是由Struts1和WebWork发展而来的,性能也比较稳定,现在是Apache软件基金会的一个项目,下面就来配置Struts2进行初始化的开发

  Struts2对环境要求不高,JDK版本1.5以上,ServletAPI在2.5以上,Tomcat版本在6.0以上即可,当然更推荐使用最新版本

  首先去Apache官网下载Struts2的类库,http://www.apache.org最下方的Struts项目超链接http://struts.apache.org,进入Struts首页如下:

  

  点击Download按钮进入下载界面,

  

  目前Struts最新版本是2.3.24.1,分为apps项目案例,lib核心驱动,docs文档和src框架源码,根据需要进行下载,我这里下载的struts-2.3.24.1-all.zip这其中包括所有的包,下载到本地解压出来即可,这个页面中还有之前版本的下载链接,也包括struts1的下载链接

  如果想下载所有的历史包,链接是:http://people.apache.org/builds/struts/

  然后打开eclipse for javaEE,新建动态网站项目

  

  输入项目名确认即可,然后就建立了一个普通的web项目,和之前的没有区别,另外注意要创建web.xml配置文件

  

  然后,打开我们刚才下载的Struts2中lib目录,这下面有非常多的Struts类库,并不是完全需要,一般情况下我们只导入常用的即可,其他的到需要的时候再导入,需要的jar包如下图:

  

  复制到lib目录后,eclipse项目会自动导入web的类库

  然后,配置web.xml,在<web-app>节点之间添加下面代码,也就是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能跑起来最基本的前提,工作原理就是当tomcat容器启动时,首先加载web.xml,所以会加载其中定义的过滤器,因此StrutsPrepareAndExecuteFilter过滤器会过滤项目下所有的请求,然后后来利用过滤器捕获action请求,从而调用相应的方法进行处理,这就是Struts2的大致工作情况,StrutsPrepareAndExecuteFilter类出现可以让开发人员自定义过滤器,从而在请求到达处理之间对用户请求进行处理

  配置好web.xml后需要建立Struts2的核心配置文件,位置就是项目下的src目录中,建立struts.xml文件,他负责配置所有的请求对应各种类或者方法,所以是核心配置文件,基本的结构如下:

 <?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.3.dtd">
<struts> </struts>

  头部是声明,我们所有的配置都写在<struts></struts>标签的内部,那么写一个最简单的配置:

     <package name="default" namespace="/" extends="struts-default">
<action name="hellostruts2" class="net.zengzhiying.action.HelloStruts2Action">
<result>/result.jsp</result>
</action> <action name="login" method="login" class="net.zengzhiying.action.HelloStruts2Action">
<result>/login.jsp</result>
</action>
</package>

  在这里,一个action就负责处理一个请求,packge我们使用的默认包,当有多个packge时,name一定要区分开,namespace就是访问的空间,我们的项目名是HelloStruts2,如果命名空间是/test那么应该访问,http://localhost:8080/HelloStruts2/test/自定义的action

  第一个action对应的访问路径就是http://localhost:8080/HelloStruts2/hellostruts2.action当然默认也可以不加action

  第二个action对应的就是http://localhost:8080/HelloStruts2/login.action

  然后去建立一个Action类,就是HelloStruts2Action,类名命名必须是以Action结尾的驼峰命名,并且继承于ActionSupport类,具体代码如下:

 package net.zengzhiying.action;

 import com.opensymphony.xwork2.ActionSupport;

 public class HelloStruts2Action extends ActionSupport {

     private static final long serialVersionUID = 1L;

     @Override
public String execute() throws Exception {
System.out.println("执行Action"); return SUCCESS;
} //新增自定义方法
public String login() {
return SUCCESS;
} }

  如果前面配置文件没指定method属性,默认访问的方法就是execute方法,我们另外还自定义了一个login方法,SUCCESS常量返回了默认的<result>指定的视图,下面建立对应的jsp文件

  result.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>成功视图</title>
</head>
<body>
Hello Struts2
</body>
</html>

  另外login.jsp的建立也是一样,就不列出了,现在一个基本的Struts2应用就建好了,现在启动服务器,访问即可看到结果:

  

  然后我么看控制台也进行了打印输出

  

  同时访问login也是相同的效果

  

  以上就是基本的配置了,另外在配置文件struts.xml中还可以配置感叹号、通配符等多种灵活的访问方式,还可以配置访问后缀等参数,同时Struts2框架强大的功能更远不止这些,还需要不断地学习研究

  

在eclipse中进行Struts2项目的配置的更多相关文章

  1. Eclipse中的Web项目自动部署到Tomcat

    原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写博客,现在感觉还是很有必要的,编程中每个人对于犯过的错误 ...

  2. [转]Eclipse中的Web项目自动部署到Tomcat

    原文地址:http://www.cnblogs.com/ywl925/p/3815173.html 原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的 ...

  3. 用Maven生成Eclipse中的Web项目

    转自:http://my.oschina.net/u/939893/blog/170185 进入workspace, 输入以下命令 mvn archetype:generate -DgroupId=  ...

  4. 当在ECLIPSE中import现存项目时,如遇到版本不符

    当在ECLIPSE中import现存项目时,如遇到版本不符,可选Run-->Run Configurations,进入'Run Configurations'界面,选左边的Android App ...

  5. Eclipse中的Web项目自动部署到Tomcat(转)

    转自:http://www.cnblogs.com/ywl925/p/3815173.html 问题: 这里就有个问题,是怎么把Eclipse中的网站项目自动部署到tomcat中.在Eclipse中做 ...

  6. Eclipse 中构建 Maven 项目的完整过程 - SpringBoot 项目

    进行以下步骤的前提是你已经安装好本地maven库和eclipse中的maven插件了(有的eclipse中已经集成了maven插件) 一.Maven项目的新建 1.鼠标右键---->New--- ...

  7. 在Eclipse中调试web项目

    由于现在的公司用的是Eclipse开发web项目而且不安装MyEclipse插件,没有myclipse插件就不能在Eclipse中配置web服务器,所以也就不好对web项目进行调试.下面的方法就可以让 ...

  8. Eclipse中的Web项目自动部署到Tomcat的webapp目录下

    Eclipse中的Web项目自动部署到Tomcat   原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写 ...

  9. 在eclipse中构建solr项目+添加core+整合mysql+添加中文分词器

    最近在研究solr,这里只记录一下eclipse中构建solr项目,添加core,整合mysql,添加中文分词器的过程. 版本信息:solr版本6.2.0+tomcat8+jdk1.8 推荐阅读:so ...

随机推荐

  1. struts2理解

    (1) Struts2(一)---struts2的环境搭建及实例 (2) struts2(二)---ModelDriven模型驱动 (3) Struts2属性驱动与模型驱动 (4)

  2. 【HDU 2577】How to Type

    题意 (我做了这题才知道caps lock 锁定大小写后,按一下shift键可以输入相反的大小写.) 这题就是给你只有大小写字母的字符串,求最少多少次按键盘.最后caps lock 必须是关闭的. 分 ...

  3. BZOJ-1975 魔法猪学院 K短路 (A*+SPFA)

    1975: [Sdoi2010]魔法猪学院 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1323 Solved: 433 [Submit][Statu ...

  4. poj 3734 矩阵快速幂+YY

    题目原意:N个方块排成一列,每个方块可涂成红.蓝.绿.黄.问红方块和绿方块都是偶数的方案的个数. sol:找规律列递推式+矩阵快速幂 设已经染完了i个方块将要染第i+1个方块. a[i]=1-i方块中 ...

  5. HDU2509 Be the Winner

    Be the Winner Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  6. CodeForces 703B(容斥定理)

    题目链接:http://codeforces.com/contest/703/problem/B 解题思路: 第一次写 先求出每个点到其他点的价值,并将其记录 dp[i][j]=1(i<j),然 ...

  7. 锋利的jQuery-7--一个$.fn.color插件的编写过程

    编写一个设置和获取元素的color的插件: 首先实现第一个功能,设置: ;(function($){ $.fn.extend({ color:function(value){ return this. ...

  8. win2008r2激活码

    我这有三个 以前用过可以 现在不知道能不能用 你试试BBFP3-49FVF-TJB8F-V26V6-DJPX9 CXTFT-74V4Y-9D48T-2DMFW-TX7CYGYF3T-H2V88-GRP ...

  9. php获取当前方法名和类名

    php提供的一些系统常量可以完成这些 php获取当前方法名(函数名) __FUNCTION__ php获取当前类名 __CLASS__ 或者 get_class($this); php获取本类所有的方 ...

  10. 9个 SSH常用命令选项

    9个 SSH常用命令选项 SSH 是什么 SSH(全称 Secure Shell)是一种加密的网络协议.使用该协议的数据将被加密,如果在传输中间数据泄漏,也可以确保没有人能读取出有用信息.要使用 SS ...