Struts2入门:环境搭建与Action开发详解

需积分: 7 0 下载量 93 浏览量 更新于2024-07-31 收藏 429KB DOC 举报
"本文档主要介绍了如何开始使用Struts2进行Web应用程序开发,包括环境的搭建步骤和Action类的基础知识。首先,我们来详细解读这个过程。 1. Struts2环境搭建:要使用Struts2,首先需要在项目中添加必要的依赖库。这包括struts2-core、xwork-core、ognl、freemarker和一些辅助库如commons-logging和commons-fileupload。这些jar文件提供了Struts2的核心功能和模板引擎支持。在项目的WEB-INF/classes目录下,创建一个struts.xml配置文件,这是Struts2的核心配置文件,定义了应用的行为和配置。该文件的结构遵循DTD规范,定义了Struts2的动作(actions)和它们的执行规则。 2. 配置web.xml:在web.xml文件中,配置Struts2的过滤器(filter),即StrutsPrepareAndExecuteFilter,它负责处理请求到Action的映射。通过将此filter与所有URL模式关联,可以确保Struts2在整个应用中起作用。 Action类开发:Struts2中的Action是处理用户请求的核心组件。Action类主要有三种实现方式: - 普通类:创建一个简单的公共类,如`OneAction`,并提供一个无参的`execute`方法,这是Struts2中最基础的Action实现。 - 实现Action接口:通过实现`Action`接口并重写`execute`方法,可以自定义更多的逻辑,比如错误处理或业务操作。例如,`OneAction`类可以这样实现: ```java public class OneAction implements Action { @Override public String execute() throws Exception { // 实现具体的业务逻辑 } } ``` - 继承ActionSupport:`ActionSupport`是Struts2提供的一个基类,包含了默认的行为和属性,如属性的自动绑定和事件监听。子类只需覆盖`execute`方法即可,如: ```java public class OneAction extends ActionSupport { @Override public String execute() throws Exception { // 继承的便利性,如自动属性绑定 } } ``` 本文档为初学者提供了Struts2环境配置和基础Action类开发的基础知识,后续可能还会涉及Action的拦截器、结果类型、国际化、表单验证等更深入的内容。对于实际开发来说,这些步骤是构建可维护、易扩展的Web应用的关键组成部分。"

我用Spring5的aop应用时报这个错误Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [D:\ecliple\web5\WEB-INF\applicationContext.xml]; nested exception is java.nio.file.NoSuchFileException: WEB-INF\applicationContext.xml,他说我的applicationContext.xml文件不存在,可是我明明有这个文件,另外我的web.xml需要更改吗<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <context-param> <param-name>contextConfigLocation </param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <display-name>Struts2</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/* </url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app>

2023-05-30 上传