对于初学者来说,各种繁琐的配置成为一个比较令人头疼的问题。现在总结一下目前学到的和用到的配置,希望让我们减少放在配置上的时间,把精力放在提高代码的质量上,进入正题。struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。本文介绍Struts。
Struts目前用到的包:commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar、freemarker-2.3.16.jar、javassist-3.7.ga.jar、ognl-3.0.jar、struts2-convention-plugin-2.2.1.1.jar、struts2-core-2.2.1.1.jar、xwork-core-2.2.1.1.jar
struts.xml的配置(放在src目录下):
<?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.0.dtd">
<struts>
<package name="xxx" extends="struts-default"namespace="xxx">//包的配置
<!-- 全局result的配置 -->
<global-results>
<result name="login">/login.jsp</result>
</global-results>
<!-- 配置拦截器 -->
<interceptors>
<interceptor class="自定义类全路径" name="自定义" />//自定义拦截器
<interceptor-stack name="authorityStack">//配置拦截器栈
<interceptor-ref name="defaultStack"></interceptor-ref>//设置默认拦截器
<interceptor-ref name="authority"></interceptor-ref>//设置自定义拦截器
</interceptor-stack>
</interceptors>
<!--设置此包的默认拦截器 -->
<default-interceptor-ref name="authorityStack"></default-interceptor-ref>
<action name="自定义" class="自定义类全路径" method="自定义">
<result name="xxx">/index.jsp</result>
<interceptor-ref name=""></interceptor-ref>//为此Action引用拦截器
</action>
</package>
</struts>
如果Struts.xml的result中的路径配置多个参数,可以这样写:
paramType1=${xxxx}&paramType2=${xxxx}
好像xml的格式都是这样的。不能直接用&,会报错!
在sturts.xml或者struts.properties(格式不一样,如name=value即可)文件中可以配置:
<!--设置默认包-->
<constant name="struts.convention.default.parent.package" value="packageName" />
<!-- 指定Web应用的默认编码,相当于调用HttpServletRequest的setCharacterEncoding -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!--Action的请求后缀(多个用逗号分隔),默认是action-->
<constant name="struts.action.extension" value="do,html"/>
<!--浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->
<constant name="struts.serve.static.browserCache" value="false"/>
<!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->
<constant name="struts.configuration.xml.reload" value="true"/>
<!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->
<constant name="struts.devMode" value="true" />
<!-- 默认的视图主题,默认是xhtml -->
<constant name="struts.ui.theme" value="simple" />
<!--Spring和Struts整合时需要-->
<constant name="struts.objectFactory" value="spring" />
<!--设置国际化资源资源,这里的国际化资源文件如globalMessages_en_US.properties-->
<constant name="struts.custom.i18n.resources" value="globalMessages" />
<!--设置处理multipart/form-data的MIME类型请求框架,支持cos,pell,(默认)jakarta-->
<constant name="struts.multipart.parser" value="jakarta"/>
还有很多属性的配置,大概经常用的就列举如上。其他的自己查有关资料。
web.xml的配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<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>
</web-app>
Annotation配置Struts,例如
public class LoginAction extends ActionSupport{
@Action(value = "自定义Action的Name", results = { @Result(name = "success", location = "/index.jsp"),@Result(name = "input", location = "/admin/login.jsp") },interceptorRefs = { @InterceptorRef("这里写此Action配置的拦截器名") })//这里应该看得懂把,看不懂自己琢磨一下,试一下。
public String execute()
{
return SUCCESS;
}
}
//execute是默认加载的方法名,那样可以不用在action中指定Method=""。但是建议还是指定比较好,不要懒。
//SUCCESS等价于"success",同理还有INPUT。(SUCCESS好像也是默认的Result的name,还是自己指定比较好)
其实Struts用Annotation,个人觉得以后不是很方便,这里只是希望大家了解了解,而且如何配置包默认拦截器等更深层次的Annotation配置还不是很了解,等以后懂了再详解。@Action我是放在方法之上的,可以放在类上,写法好像稍微不同,暂不探讨这个。
PS:struts.properties,globalMessage_en_US.properties,struts.xml等都放在src目录下。
暂且说到这儿,还遗漏什么请留言补充一下,谢谢。
看得可能有点乱,总结一下:
(1)主要开发过程:struts.xml+web.xml+Action
(2)Struts的Annotation配置方法依情况使用(个人建议少使用)
(3)struts.properties文件也可以由个人觉得是否使用
(4)type="json"
分享到:
相关推荐
在`struts.xml`中,通过`action`元素来定义每一个Action,包括其类名、方法名以及可能使用的拦截器堆栈等信息。每个Action还必须定义至少一个`result`元素,用于指定Action执行完成后返回的结果类型,如重定向到某个...
这种配置类型通常用于实现 Action 之间的属性复制,例如将第一个 Action 的 getter 方法的结果传递给第二个 Action 的 setter 方法。 2. Dispatcher Result 配置 Dispatcher Result 配置是 Struts2 框架中默认的 ...
比如,在Action类上使用`@Action`注解,或者在方法上使用`@Result`注解,可以避免在`struts.xml`中手动配置。这样可以提高代码的可读性和可维护性。 对于国际化支持,Struts2提供了一种机制来处理不同语言环境下的...
`struts.xml` 文件是Struts2的核心配置文件之一,主要负责管理和定义应用程序中的Action映射以及相关的Result定义。具体来说,该文件包括以下几个关键部分: 1. **Action 映射**: - 指定每个Action的名称、执行的...
这个"struts2之配置实用案例struts001"很可能是针对初学者或者开发者提供的一份实践教程,旨在帮助他们理解和掌握Struts2的基本配置和用法。 在Struts2框架中,配置是至关重要的部分,它决定了应用程序的行为和流程...
如果这是一个类文件,那么它应该包含了类似上述示例的注解用法,用于演示如何在没有`struts.xml`配置文件的情况下运行Struts2应用。 总的来说,Struts2的注解功能极大地简化了Web应用的配置,使开发者能够更加专注...
### Struts 2.0 详细配置解析 #### 一、Struts 2.0 简介 Struts 2.0 是一个基于 Java 的开源框架,用于开发 Web 应用程序。它继承了 Struts 1.x 的优点,并在架构上进行了改进,更加灵活且易于扩展。Struts 2.0 ...
在配置Struts2时,通常会使用一个名为`struts.xml`的配置文件,该文件定义了应用程序的行为和组件。为了在开发环境中获得更好的代码辅助和提示,我们需要使IDE(例如Eclipse)理解`struts.xml`文件的结构,这通常...
本文将详细介绍如何在MyEclipse环境中配置Struts2的基本运行环境,包括必要的jar包导入、XML文件配置及Action类的编写等关键步骤。 #### 二、环境搭建准备 ##### 1. 导入Struts2依赖库jar包 在MyEclipse中配置...
在这个配置中,我们定义了一个名为`struts2`的包,它继承自`struts-default`包,这意味着我们可以使用默认的配置。`action`元素指定了一个名为`login_*`的动作,其中星号(*)是一个通配符,表示所有以`login_`开头的...
总的来说,这个教程应该会涵盖Struts2的基本概念、配置方式、标签的使用技巧,以及EXT3.0在前端展示中的应用,旨在帮助开发者快速掌握Struts2框架,并能有效利用其特性构建高效的企业级应用。通过学习和实践,你可以...
在Struts2中,Annotation注解的引入为开发者提供了更加灵活和便捷的配置方式,使得无需在XML配置文件中进行繁琐的设置,可以直接在类或方法上通过注解来进行配置。本文将深入探讨Struts2中的Annotation配置,以及...
同时,为在Freemarker中使用Struts2标签,需要添加特定的servlet配置。 5. **配置Struts2**: - 创建struts.xml配置文件,定义Action和结果。例如,创建一个名为"userLogin"的Action,指定其执行的类和方法,然后...
"Struts2 零配置"是Struts2的一种特性,允许开发者在不编写大量XML配置文件的情况下,快速搭建和运行应用程序。这主要得益于Struts2的插件机制和注解支持。 首先,Struts2的零配置主要依赖于以下两个核心概念: 1....
本资料“struts配置大全(1、2全)”涵盖了Struts 1和Struts 2两个版本的核心配置,以及与Spring MVC的整合配置,旨在帮助开发者深入理解并熟练掌握Struts框架的配置方法。 **Struts 1配置** Struts 1的配置主要集中...
在"Struts 2使用注解配置Action"中,我们不再需要在struts.xml中为每个Action类手动添加配置。相反,我们可以在Action类或者方法上直接使用注解来声明它们的功能。这样不仅提高了代码的可读性,还使得配置更加灵活。...
- **ActionServlet** 是Struts2的核心组件之一,用于处理HTTP请求。 - 在`web.xml`中,需要配置ActionServlet的初始化参数,例如资源文件路径等。 - 初始化参数通常包括`configuration`、`resources`等,用以指定...
在`struts.xml`中,为动作类的`execute`方法配置结果映射,指向Freemarker模板。 ```xml <result type="freemarker">/WEB-INF/templates/index.ftl ``` ### 6. 运行与测试 完成上述配置后,启动服务器,访问...
本文将详细介绍如何使用Struts 1与Struts 2进行开发,尤其是它们的配置方式,包括XML配置和注解配置。 #### 二、Struts 1 的配置方式 **1. 环境配置** Struts 1的配置主要包括两个方面:类库的引入和配置文件的...
以上就是关于Struts2配置文件的详细讲解,包括核心配置文件`struts.xml`的使用、连接池的配置以及与MySQL数据库的连接设置。理解并熟练掌握这些配置,能帮助开发者高效地构建和管理Struts2应用程序。