`
woaiyingyu123
  • 浏览: 69984 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

(一)配置及用法之Struts

阅读更多
对于初学者来说,各种繁琐的配置成为一个比较令人头疼的问题。现在总结一下目前学到的和用到的配置,希望让我们减少放在配置上的时间,把精力放在提高代码的质量上,进入正题。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}&amp;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"
分享到:
评论

相关推荐

    struts2的struts.properties配置文件详解

    Struts2是一个基于MVC模式的Web应用程序框架,它提供了一个名为Struts.properties的配置文件,该文件用于配置Struts2的各种参数和设置。下面将对Struts.properties配置文件中的重要参数进行详细解释。 1. struts....

    struts2注解配置Action及拦截器几种不同方式写法对应的路径指向.docx

    Struts2 注解配置 Action 及拦截器是 Struts2 框架中的核心组件之一,负责处理用户请求并返回响应结果。下面,我们将通过详细的解释和示例代码,来介绍 Struts2 中的注解配置 Action 及拦截器几种不同方式的写法对应...

    配置Struts 2开发环境,了解和熟悉Struts 2的开发流程、了解和熟悉Struts2标签的使用方法.rar

    5.掌握常用标签textfield、radio、paaaword、checkboxlist、select、data的使用方法,实现页面与Action的交互操作 6.要求在创建过程中,包的名称要体现班级和学号,项目名称不需要按照实验手册中书写。在做的过程中...

    Struts2源码和标签使用和配置

    struts2教程实例!struts2标签用法详细用法!ext3.0的详细讲解和PPt。

    struts的教程.doc

    目录 概述 4 Framework概念 4 Struts的概念和体系结构 5 Struts的与Web App的关系 5 ...Struts的体系结构 5 ...Struts的基本组件包 6 ...Struts framework的工作原理和组件 7 ...分离Book和BookForm的一个好方法 51

    Struts2.1.6中关于JSON的配置和使用

    1,需要把jsonplugin-0.33.jar拷贝到Web-INF/lib目录下....2,在struts2.1.6的配置文件中进行配置,就是返回的类型是json,并且要为JSON数据单独创建一个Package,继承的包不再是struts-default,而是json-default

    Struts1配置

    Struts1配置文件各标签属性的详细解释与用法,包括struts1的工作流程

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    struts自动加载的一个配置文件列表 struts.configuration.xml.reload Whether to reload the XML configuration or not 是否加载xml配置(true,false) struts.continuations.package The package containing ...

    java Struts教程

    概述 4 Framework概念 4 Struts的概念和体系结构 5 Struts的与Web App的关系 5 Struts的体系结构 5 从视图角度(View) 6 从模型角度(Model) 6 从控制器角度(Controller) 6 ...分离Book和BookForm的一个好方法 51

    Struts2-rest插件(有注释)

    由于 Struts 2 的 Convention 插件的主要特点是“约定优于配置”,当我们已经习惯了 Struts 2 的基本开发方法之后,如果希望改为使用 Convention 插件也非常容易,我们只要放弃 Stuts 2.1 应用原有的配置文件,改为...

    struts2配置介绍

    struts2配置介绍,开发中的简单应用,项目中使用struts2的用法

    struts1和struts2的区别

    struts1的配置比struts2麻烦很多。不仅要在.xml里写繁多的配置,多数也还要写一个FormBean来和action对应。struts2配置简单。不用继续servlet,任何一个带有方法的类都能当作action来使用。

    MyEclipse2013中图形界面配置struts2的操作方法

    在MyEclipse2013中使用图形界面快速配置struts2的操作方法,自己动手做的练习,对Java Web编程入门者有用。本人已测试通过,详细操作内附有图形说明,有源码和发布文件。

    struts1.x配置

    struts安装,配置 如果你已经了解了MVC,那么使用Struts进行开发对你来说将是一件很爽的事情。下面来说一下基本配置方法(Struts1.X):1.下载Struts:2.加载jar包:3.配置web.xml:4.配置Struts-config.xml文件:

    struts2拦截器的使用方法

    struts2拦截器的使用说明文档,配置说明文档。可以看一下

    Struts2入门教程(全新完整版)

    二、struts.xml配置及例程 7 1.配置文件的优先级 7 2.配置形式 8 3.package配置相关 8 4.分工合作include:指定多个配置文件 10 5.tomcat认证访问 10 6.初识拦截器 11 7.Action中的method属性 12 8.使用ForwardAction...

    struts 教程 很好很详细

    概述 4 Framework概念 4 Struts的概念和体系结构 5 Struts的与Web App的关系 5 Struts的体系结构 5 从视图角度(View) 6 从模型角度(Model) 6 从控制器角度(Controller) 6 ...分离Book和BookForm的一个好方法 51

    在Struts2与Spring2.5结合DWR2配置使用方法.doc

    在Struts2与Spring2.5结合DWR2配置使用方法.doc

    深入浅出struts2

    为了达成这一目标,Struts2中提供了很多新特性,比如智能的默认设置、annotation的使用以及“惯例重于配置”原则的应用,而这一切都大大减少了XML配置。Struts2中的Action都是POJO,这一方面增强了Action本身的可...

Global site tag (gtag.js) - Google Analytics