1新建一个web项目,添加struts2相关的包,在web.xml中配置struts2
<!-- struts2的Filter 分发器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<!--零配置需在filter中指定Action包的位置 -->
<init-param>
<param-name>actionPackages</param-name>
<!--零配置Action包的位置 -->
<param-value>com.test.action.AnnotationAction</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
2. AnnotationAction.java
package com.test.action;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Results;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.dispatcher.ServletRedirectResult;
//命名空间
@Namespace(value="/test")
//结果集
@Results({
//AnnotationAction传出参数"success"时,页面会跳转到index.jsp
@Result(name="success",location="/index.jsp"),
@Result(name="login",location="/login.jsp")
})
//@注解action为annotationAction,在jsp页面可以使用;若无此注解,
//jsp页面中可用action="annotation!add.action",即将Action去掉,首字母小写
@Action(value="annotationAction")
public class AnnotationAction extends ActionSupport{
public String add(){
return "success";
}
public String login(){
return "login";
}
}
3 login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!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>
<s:form name="form_login" action="annotationAction!add.action" method="post" namespace="/test">
<table>
<tr>
<td>用户名:</td>
<td><s:textfield name="userName" /></td>
</tr>
<tr>
<td>密 码:</td>
<td><s:password name="userPassword"/></td>
</tr>
<tr>
<td> </td>
<td>
<s:submit value="登陆"/>
<s:reset value="取消"/>
</td>
</tr>
</table>
</s:form>
</body>
</html>
4. 登陆即可跳转到index.jsp
分享到:
相关推荐
首先,Struts2的注解允许我们避免传统的XML配置,从而实现更加简洁、直观的编程方式。在`Struts2Demo`项目中,我们可以看到Action类是如何通过注解进行声明的。例如,`@Action`注解用于定义一个方法作为处理HTTP请求...
在Struts2中,注解的引入使得开发者可以摆脱繁琐的`struts.xml`配置文件,实现“零配置”运行。 首先,让我们了解什么是注解(Annotation)。注解是Java提供的一种元数据机制,允许在源代码中嵌入信息,这些信息...
Struts2 和 Spring 的整合是企业级 Java Web 开发中常见的技术栈,通过注解配置可以使项目更加简洁、易于维护。Struts2 提供了一种使用注解替代 XML 配置的方式,使得开发者无需编写繁琐的 struts.xml 文件,即可...
在这个例子中,`src/main/java`下会有Action类,`src/main/resources`可能包含Struts2的配置文件,尽管在注解配置中我们可能不再需要传统的XML配置。此外,`src/main/webapp`目录下会存放JSP页面和其他Web资源。 在...
"Spring3Struts2Mybatis3注解开发实例"是一个集成这三大框架的项目,它利用注解来简化配置,提高开发效率。这个项目集成了Spring的依赖注入、Struts2的MVC架构和Mybatis的持久层操作,旨在为开发者提供一个高效且...
在这个注解实例中,我们将深入探讨如何利用Struts2的注解来实现更简洁、高效的应用开发。 首先,让我们了解Struts2中的注解。注解是一种元数据,允许开发者在代码中嵌入信息,这些信息可以被编译器或运行时环境用来...
### Struts2注解配置全面解析 #### 一、引言 随着Struts2框架的不断更新和发展,很多开发者在尝试使用注解方式进行配置时往往会遇到不少难题。尤其是在使用Struts2.1及以上版本时,由于大部分教程和资料仍然基于...
在这个小实例中,我们将深入探讨如何利用Struts2的注解来构建一个简洁而高效的Web应用。 首先,让我们了解什么是注解。在Java中,注解是一种元数据,它提供了一种安全的方法来向编译器、JVM或框架提供信息。Struts2...
总结来说,Struts2+Spring的注解配置能够帮助开发者减少XML配置文件的繁琐,提高代码的可读性和可维护性。通过合理利用Spring的依赖注入和Struts2的Action注解,我们可以实现更简洁、高效的Web应用程序。在实际开发...
除了注解,Struts2还提供了约定(Convention)模式,即零配置模式,进一步简化了配置流程。约定模式下,框架会根据Action的命名规则、包结构自动生成配置,但适用范围有限,主要用于快速原型开发或小型项目。 - **...
在这个特定的场景中,我们关注的是如何使用Spring的注解配置来创建中间层,并使其能被Struts2框架识别和使用,而不依赖Struts2的`struts.objectFactory`常量。 首先,让我们深入理解Spring注解配置。Spring框架提供...
Struts2的注解支持是通过拦截器(Interceptor)实现的,与Spring不同,它主要集中在Action的定义和配置上。 #### 2.2 Struts2注解介绍 ##### 2.2.1 @Action注解 这是Struts2中最核心的注解,用于定义Action类,...
Struts2允许开发者使用注解来配置Action类,如`@Action`、`@Results`等,这些注解可以减少XML配置文件的复杂性。同时,Struts2与Spring框架的整合使得bean可以直接在Action类中注入,提高了代码的可维护性和可测试性...
【标题】"Hibernate与Struts2和Spring组合开发实例"涉及的是Java企业级应用开发中的核心技术栈,也就是著名的SSH(Spring、Struts2、Hibernate)框架的整合使用。这三个框架分别在应用程序的不同层面发挥关键作用,...
总的来说,“struts2零配置入门代码”是一个很好的起点,帮助开发者理解Struts2框架如何通过注解实现无XML配置的应用程序。这种方式不仅降低了学习曲线,还提高了开发效率,使得开发者能够更专注于业务逻辑的实现,...
而使用注解配置的Hibernate,可能会借助于第三方库,如Hibernate-JPA2的`@Query`注解配合`Pageable`接口来实现分页。 总的来说,这个SSH2+Annotations实例展示了如何在Java Web开发中有效地利用注解来提高开发效率...
在本项目中,"s2sh半注解结合方式框架搭建开发"指的是使用Struts2、Spring和Hibernate,并通过注解的方式来进行部分配置,以简化传统的XML配置文件,提高开发效率。 首先,让我们来详细了解一下这三个框架的核心...
通过这个登录实例,你可以学习到如何在实际项目中集成Struts2、Spring和Hibernate,理解它们之间的协作方式,以及如何编写和配置相关的代码。同时,这也将帮助你掌握Java Web开发的基础知识,提高解决实际问题的能力...
Struts2的配置通常更为简洁,可以通过注解或者XML进行。此外,它支持多种结果类型,包括JSP、FreeMarker、Velocity等,并且集成了许多其他开源库,如OGNL(Object-Graph Navigation Language)用于表达式语言,以及...
在本项目"spring_struts2_mybatis_注解的小实例"中,我们将深入探讨如何使用SSM(Spring、Struts2、MyBatis)框架来实现一个基础的增删改查(CRUD)功能。SSM是Java Web开发中常用的三大组件,它们各自负责不同的...