在eclipse中进行Struts2项目的配置

  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的框架的过滤器

1     <filter>
2         <filter-name>struts2</filter-name>
3         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
4     </filter>
5
6     <filter-mapping>
7         <filter-name>struts2</filter-name>
8         <url-pattern>/*</url-pattern>
9     </filter-mapping>

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

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

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

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

1     <package name="default" namespace="/" extends="struts-default">
2         <action name="hellostruts2" class="net.zengzhiying.action.HelloStruts2Action">
3             <result>/result.jsp</result>
4         </action>
5
6         <action name="login" method="login" class="net.zengzhiying.action.HelloStruts2Action">
7             <result>/login.jsp</result>
8         </action>
9     </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类,具体代码如下:

 1 package net.zengzhiying.action;
 2
 3 import com.opensymphony.xwork2.ActionSupport;
 4
 5 public class HelloStruts2Action extends ActionSupport {
 6
 7     private static final long serialVersionUID = 1L;
 8
 9     @Override
10     public String execute() throws Exception {
11         System.out.println("执行Action");
12
13         return SUCCESS;
14     }
15
16     //新增自定义方法
17     public String login() {
18         return SUCCESS;
19     }
20
21 }

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

  result.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>成功视图</title>
 8 </head>
 9 <body>
10     Hello Struts2
11 </body>
12 </html>

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

  

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

  

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

  

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

  

时间: 2024-10-26 08:31:11

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

在eclipse中调试web项目的时候如何把web项目分配给配置好的服务器

举个例子,我今天在做spring和struts2整合的例子 新建项目blk 1.配置好web.xml,struts.xml,applicationContext.xml,写好jsp页面 2.把struts2.spring整合需要的jar包(struts核心jar包,spring核心jar包以及struts-spring-plugin.jar.commons-logging.jar)放到你项目的WEB-INF/lib目录下 3.写好java代码,并把java代码编译后的class文件拷贝到WEB-

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

原文地址:http://www.cnblogs.com/ywl925/p/3815173.html 原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写 博客,现在感觉还是很有必要的,编程中每个人对于犯过的错误,解决后不再使用的话,很长时间重新使用,还是会犯同样的错误.(这是人,编程环境,思维方式 共同决定给的) 问题 这里就有个问题,是怎么把Eclipse中的网站项目自动部署到tomcat中.在Ecli

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

一.原因. 1.写java程序有一段时间了,但很久没用eclipse了,所以使用eclipse编写的web项目部署到tomcat 的方式也不是很清楚,下面记录一下将Eclipse 上的web项目自动部署到tomcat 上的方式: 二.部署问题 1.这里就有个问题,是怎么把Eclipse中的网站项目自动部署到tomcat中.在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录下,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse中

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

转自:http://www.cnblogs.com/ywl925/p/3815173.html 问题: 这里就有个问题,是怎么把Eclipse中的网站项目自动部署到tomcat中.在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse中的服务器,才能运行Web项目.所以要对Eclipse进行修改,才能将做好的项目,发布到Tomcat服务器上,发布到服务器上的Webapps文件夹下

在eclipse中创建web项目

如何创建dynamic web project项目 本文的演示是从本地文件创建dynamic web project,从svn检出的同时创建dynamic web project于此类似.我们推荐使用解压版的tomcat6.x版本,来作为服务器.可以到http://tomcat.apache.org 下载. 在创建动态web项目之前,我们先创建一个Server用于在eclipse里运行和调试web项目. 创建一个Server 创建Server是为了方便在eclipse里启动和调试dynamic

Eclipse中的Web项目自己主动部署到Tomcat

一.原因. 1.写java程序有一段时间了,但非常久没用eclipse了.所以使用eclipse编写的web项目部署到tomcat 的方式也不是非常清楚,以下记录一下将Eclipse 上的web项目自己主动部署到tomcat 上的方式: 二.部署问题 1.这里就有个问题.是怎么把Eclipse中的站点项目自己主动部署到tomcat中. 在Eclipse中做的Web项目默认是不支持将项目公布到Webserver上的,会公布到工作空间的某个文件夹下,因此无法在外部启动Tomcat来执行Web项目,仅

eclipse中j2ee(struts2)部署及相关问题释疑

1.eclipse中进行web项目开发时.部署的时候和利用myeclipse部署时有非常大不同,由于在myeclipse的工具栏中有一个部署button.而且在myeclipse的preference中有tomcat等server的配置入口,当点击部署button时,默认直接部署到配置的server的指定位置(比如tomcat是直接部署到webapps文件夹下). 2.eclipse配置服务的位置为 3.部署web项目时.还需打开server视图.点击右键new 一个server 4.在第3步完

将Eclipse中的Web项目部署到Tomcat与修改Tomcat服务器Server Locations

1.将Eclipse中的Web项目部署到Tomcat 记得开始学习JavaWeb的时候,首先用的是Eclipse开发,但是有一个问题始终没有弄明白,做好的Web项目是如何发布到Tomcat服务器上的呢?最后得到了一个结论,那就是Eclipse这个软件可能是将项目发布到了一个临时的目录,只有打开Eclipse的时候,启动服务器才能运行Web项目.也正是因为这个原因,一直用的都是MyEclipse开发Java Web项目(十分的方便和顺手).这几天用的比较多,因此又对这个问题产生了兴趣,能不能将做好

Eclipse中的WEB项目打包部署到tomcat

1.在eclipse中右键单击项目,然后Export选择WAR file,生成项目的WAR文件.(路径中的项目名要与打包项目一样) 2.把生成的WAR文件放到tomcat解压之后的webapps文件夹下. 3.在tomcat的conf文件夹里的server.xml进行配置: 在<Host></Host>标签之间添加如下代码: <Context path="/" docBase="F:/tomcat/webapps" debug=&quo