`
friendsys
  • 浏览: 347362 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

"最"简化配置Struts2 基于Annotation风格

阅读更多
关键还是基于Annotation的方式配置Struts2,使用的版本是2.1.6.
纯为个人记忆,及以后方便使用

Struts2需要的就是一个在classpath下的struts.xml  配置如下,不过大多可以省略.

<?xml version="1.0" encoding="UTF-8" ?> 
<!--指定struts2配置文件的DTD信息--> 
<!DOCTYPE struts PUBLIC 
"-//apache Software Foundation//DTD Struts Configuation 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd"> 
<!-- struts 是struts2配置文件的根元素--> 
<struts> 
    <!--设置Struts 2应用是否使用开发模式--> 
<constant name="struts.devMode" value="true"></constant> 
<!--每次Http请求到达时,是否重新加载资源文件--> 
<constant name="struts.i18n.reload" value="true"></constant> 
<!--struts.xml文件系统改变后,系统是否重新加载该文件--> 
<constant name="struts.configuration.xml.reload" value="true"></constant> 
<!--指定web应用的默认编码集--> 
<constant name="struts.i18n.encoding" value="UTF-8"></constant> 
<!--指定所需的国际化资源--> 
<constant name="struts.custom.i18n.resources" value="messageResource"></constant> 
<!--指定需要Struts 2处理请求的后缀--> 
<constant name="struts.action.extension" value="jspa" /> 
<!--struts2的Action必须放在指定的包空间下定义--> 
<package name="strutsqs" extends="struts-default">  
  <global-results> 
   <!-- 当返回login视图名时,转入/login/login.jsp页面登录 -->   
   <result name="common_error">/deal/error.jsp</result> 
  </global-results>  
</package> 
<include file="struts-user.xml"></include> 
</struts> 


需要的jar包如下
freemarker-2.3.13.jar //有些地方需要用到
struts2-codebehind-plugin-2.1.6.jar     //用于配置Annotation风格
struts2-config-browser-plugin-2.1.6.jar //同上
struts2-core-2.1.6.jar //核心包
struts2-spring-plugin-2.1.6.jar //用于和Spring集成
xwork-2.1.2.jar                         //另外个核心包
ognl-2.6.11.jar //依赖包
javassist-3.4.GA.jar                    //同期需要的一个包..用于Junit和Spring集成的使用

@ParentPackage("struts-default")  //用于指定默认的包,继承的作用
@Namespace("")			//声明一个空的命名空间
@Results( { @Result(value = "/sayHello.jsp") }) //判断返回结果,默认是name是success,其他可以自定义
public class HelloAction extends ActionSupport {
	public String SayHello() {
		System.out.println("欢迎使用action");
		return "success";
	}

	public String execute() {
		System.out.println("Access Success!!!");
		return "success";
	}
}


这里注意访问的Action中,名称是类名的第一个小写hello.action,其中后面的Action部分可以不写

其他就是在web.xml里面配置

<!--用于加载Spring配置文件-->
<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext*.xml
                  </param-value>
</context-param>

<!-- Character Encoding filter 编码过滤器 (可选) -->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>
          org.springframework.web.filter.CharacterEncodingFilter
                 </filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

<!-- Struts2 filter,actionPackages定义扫描Action类的目录,和Annotation配置有关 -->
	<filter>
	<filter-name>struts2</filter-name>
	<filter-class>
          org.apache.struts2.dispatcher.FilterDispatcher
         </filter-class>
	   <init-param>
		<param-name>actionPackages</param-name>
		<param-value>com.orz.view.struts</param-value>
	   </init-param>
	</filter>

	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>*.action</url-pattern>
	</filter-mapping>

	<!--Spring ApplicationContext 载入 -->
	<listener>
	<listener-class>
         org.springframework.web.context.ContextLoaderListener
         </listener-class>
	</listener>
	<!-- Spring 刷新Introspector防止内存泄露(可选) -->
	<listener>
	
         <listener-class>
	org.springframework.web.util.IntrospectorCleanupListener
         </listener-class>
	</listener>

分享到:
评论

相关推荐

    再改struts1.2.*,让struts1再焕发表春,支持Annotation和POJO风格的Action

    通过引入注解,我们可以简化配置,比如在Action类或方法上使用注解来指定请求映射、输入输出结果等,这使得代码更易读,也减少了XML配置文件的复杂性。 3. **配置扩展**:为了实现注解支持,我们需要扩展Struts1的...

    Struts2学习文档

    - **实现方式**:如何配置Struts2搜索校验文件的规则。 **6.5 内建校验器** - **6.5.1 required必填校验器** - **实现方式**:检查某个字段是否为空。 - **6.5.2 requiredstring必填字符串校验器** - **实现...

    Struts速查手册HandBood系列(By FengGe整理)

    2. Annotation配置:通过在Action类上使用注解,可以简化XML配置,提高开发效率。 三、Struts2 Action与结果 1. Action类:实现Action接口或继承ActionSupport基类,定义execute()方法处理请求。 2. Result类型:...

    struts学习资料

    - Annotation配置:通过在Action类上添加注解,简化配置过程。 - Package配置:组织多个相关的Action和Interceptor,形成可复用的配置单元。 5. **Struts2的拦截器链** - 拦截器可以实现如验证、日志、事务管理...

    最新ssh框架配置(struts2.2.1+hibernate3.6.0+spring3.0.5)

    1. `struts.xml` - Struts2的配置文件,定义了Action、结果类型和拦截器栈。 2. `hibernate.cfg.xml` - Hibernate的配置文件,包含了数据库连接信息和映射配置。 3. `applicationContext.xml` - Spring的配置文件,...

    springmvc+ssm

    1. **配置方式**:SpringMVC使用基于注解的配置方式,而Struts2采用XML配置文件。 2. **控制器**:SpringMVC中每个请求对应一个控制器方法,而Struts2中一个Action可以处理多个请求。 3. **参数绑定**:SpringMVC...

    SSH框架面试题.pdf

    - 配置Struts的Action,使其能够调用Spring管理的服务。 - 配置Hibernate的SessionFactory,确保正确连接数据库。 - 整合异常处理、事务管理等功能,确保一致性和可靠性。 32. **如何在Struts2中注入Spring管理...

    Spring MVC 教程快速入门 深入分析

    Spring MVC是一种基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,使用了IoC容器,支持RESTful风格的应用程序开发。Spring MVC通过分离模型(Model)、视图(View)和控制器(Controller)来简化Web开发...

    SpringBoot初学者手册

    该框架使用了特定的方式(基于Java的配置、起步依赖、自动化配置)来简化整个过程。SpringBoot的核心优势在于其“约定优于配置”的设计理念,使得开发者能够快速地搭建起一个功能完备的应用程序。 #### 二、...

    springmvc的简单使用

    2. **零配置**:Spring MVC 可以实现几乎完全的零配置,这大大简化了项目的搭建过程。 3. **架构优势**:Spring MVC 的架构更加简洁明了,一个方法对应一个请求上下文,易于实现 RESTful 风格的 URL。 4. **编码和读...

    hibernate学习资料

    - **重 Annotation,轻 xml 配置文件**:现代开发中,推荐使用注解来配置实体和映射,以降低配置复杂度。 **资源** - Hibernate 官方网站:[http://www.hibernate.org](http://www.hibernate.org) - Hibernate 中文...

    Spring中文帮助文档

    2.5.3. 基于Annotation的控制器 2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 ...

    Spring API

    2.5.3. 基于Annotation的控制器 2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 ...

    Spring2.0帮助手册.chm

    在Spring2.0中,DI机制得到了进一步优化,通过注解(Annotation)支持,使得配置更加简洁,无需大量XML配置文件,提高了开发效率。 除了依赖注入,Spring2.0还加强了AOP(面向切面编程)的支持。AOP允许开发者在不...

    java_学习路线图

    - **Struts配置文件**:struts.xml的编写。 - **Struts标签库**:简化JSP页面开发。 - **国际化支持**:实现多语言版本的应用。 - **异常处理**:通过配置文件定义异常处理策略。 #### 七、XML与XSLT - **XML...

    Spring2.5中文帮助文档

    1. **依赖注入增强**:Spring 2.5引入了基于注解的依赖注入(Annotation-Based Dependency Injection),使得开发者可以在类和方法级别使用`@Autowired`、`@Qualifier`等注解,无需XML配置就能实现对象之间的依赖...

    spring 2.5 docs

    2. **注解驱动开发(Annotation-Based Development)**:Spring 2.5引入了大量注解,如`@Controller`、`@Service`、`@Repository`和`@Transactional`,使得开发者可以减少XML配置,提高代码的可读性和可维护性。...

    JAVA上百实例源码以及开源项目源代码

    2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。...

Global site tag (gtag.js) - Google Analytics