`

struts201 struts2环境搭建及入门

阅读更多

一、分析之前的项目的不足,编写属于自己的框架
二、Struts2简介(面试)
三、搭建Struts2的开发环境
 1、找到所需的jar包:发行包的lib目录中(不同版本需要的最小jar包是不同的,参见不同版本的文档。2.1.7)
  struts2-core.jar  核心jar包
  xwork-2.jar  xwork核心jar包
  
  ognl.jar  ognl表达式
  
  freemarker.jar  FreeMarker模板
  
  commons-logging.jar  日志
  commons-fileupload.jar  文件上传
  
  commons-io.jar  文件上传依赖的包
  
 2、在应用的WEB-INF/classes目录下建立一个名称为struts.xml的配置文件,内容如下:
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
   "http://struts.apache.org/dtds/struts-2.3.dtd">
  <struts>

  </struts>
 3、配置核心控制器,就是一个过滤器
  <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>
 4、如果TOmcat启动成功,没有报错,证明环境搭建成功!
 
四、开发第一个Struts2案例
 1、编写struts.xml配置文件
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
   "http://struts.apache.org/dtds/struts-2.1.7.dtd">
  <struts><!--这是Struts2配置文件的根元素-->
   <package name="itcast" namespace="/test" extends="struts-default">
   <!--
   pageckage:方便管理动作元素
    name:必须有。包的名称,配置文件中必须保证唯一。
    namespace:该包的名称空间,一般是以"/"开头
    extends:集成的父包的名称。struts-default名称的包是struts2框架已经命名好的一个包。(在struts2-core.jar中有一个struts-default.xml中)
    abstract:是否是抽象包。没有任何action元素的包就是抽象包(java类)
    
   -->
    <action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="sayHello">
    <!--
    action:代表一个请求动作
     name:同包中必须唯一。动作的名称
     class:负责处理的JavaBean的类全名
     method:JavaBean中的对应处理方法。(动作方法:特点是,public String 方法名(){})
    -->
     <result name="success">/1.jsp</result>
     <!--
     result:结果类型
      name:动作方法返回的字符串
      主体内容:View的具体地址。
     -->
    </action>
   </package>
  </struts>
 2、根据配置文件,创建需要的javabean和对应的动作方法, 在动作方法中完成你的逻辑调用。
 
 package cn.itcast.action;
 
 public class HelloWorldAction implements Serializable {
  private String message;

  public String getMessage() {
   return message;
  }

  public void setMessage(String message) {
   this.message = message;
  }
  public String sayHello(){
   message = "helloworld by struts2";
   return "success";
  }
 }
 3、编写View,显示结果
  ${message}
 
 4、访问helloworld动作的方式:http://localhost:8080/struts2day01/test/helloworld   应用名称/包的名称空间/动作的名称
  默认情况下:访问动作名helloworld,可以直接helloworld,或者helloworld.action
  
  http://localhost:8080/struts2day01/test/a/b/c/helloworld
   /test/a/b/c:名称空间
   helloworld:动作名称
   
   搜索顺序:名称空间
      /test/a/b/c  没有helloworld
      /test/a/b  没有helloworld
      /test/a      没有helloworld
      /test        有了,调用执行
   
五、Struts2配置文件的详解
1、struts.xml配置文件编写是没有提示的问题?
 方法一:上网即可
 方法二:
  1、拷贝http://struts.apache.org/dtds/struts-2.1.7.dtd地址
  2、Eclipse的window、preferences,搜索XML Catelog
  3、点击add按钮
   Location:dtd文件的路径
   Key Type:URI
   Key:http://struts.apache.org/dtds/struts-2.1.7.dtd
2、Struts配置文件中的各种默认值。
action:
 class:默认值是com.opensymphony.xwork2.ActionSupport
   常量:  SUCCESS   success
     NONE none
     ERROR error
     INPUT input
     LOGIN login
 method:默认值是public String execute(){}

 实际开发中:自己编写的动作类一般情况下继承com.opensymphony.xwork2.ActionSupport
result:
 type:转到目的地的方式。默认值是转发,名称是dispatcher
  (注:type的取值是定义好的,不是瞎写的。在struts-default.xml中的package中有定义)
  
  <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
  <result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
  <result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
  <result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
  <result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>
  <result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
  <result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>
  <result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>
  <result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
  <result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />
  
  dispatcher:普通的转发到某个页面
  chain:普通的抓发到某个动作名称
  redirect:重定向到一个页面
  redirectAction:重定向到一个动作名称
  plainText:以纯文本的形式输出JSP内容
 result元素的写法:
  方式一:
   <result type="chain" name="success">a2</result>
  方式二:
   <result type="chain" name="success">
    <param name="actionName">a2</param><!--name对应的chain的处理器中的setActionName()方法-->
   </result>
   
  注意:如果要转向的是在另外一个名称空间的动作,那么只能使用方式二
   <package name="p1" namespace="/namespace1" extends="struts-default">
    <action name="a2">
     <result type="dispatcher" name="success">/3.jsp</result>
    </action>
   </package>
   <package name="p2" namespace="/namespace2" extends="struts-default">
    <action name="a1">
     <result type="chain" name="success">
      <param name="namespace">/namespace1</param>
      <param name="actionName">a2</param>
     </result>
    </action>
   </package>
   
3、开发中配置文件的更改,在访问时让框架自动重新加载:
struts.devMode = false(default.properties查找可找到)
利用strutx.xml中的constant元素来覆盖掉default.properties默认行为
<struts>
 <constant name="struts.devMode" value="true"></constant>
</struts>
4.
<!-- 动态的给Action类的属性赋值 -->
 <package name="p6" namespace="/ns6" extends="struts-default">
  <action name="a6" class="cn.itcast.action.HelloWorldAction">
   <param name="message">you are big shit!</param>
   <result name="success">/6.jsp</result>
  </action>
 </package>
 <!-- 获取Action的值 -->
 <package name="p7" namespace="/ns7" extends="struts-default">
  <action name="a7" class="cn.itcast.action.HelloWorldAction" method="sayHello">
   <result type="redirect" name="success">/7.jsp?msg=${message}</result>
  </action>
 </package>

0
0
分享到:
评论

相关推荐

    传智播客struts2.1视频教程_介绍struts2及struts2开发环境的搭建

    本视频教程由传智播客提供,旨在帮助初学者理解Struts2的基础概念,并指导如何搭建Struts2的开发环境。 首先,我们要了解Struts2的核心概念。Struts2是一个基于MVC(Model-View-Controller)设计模式的框架,它的...

    Struts2+Spring+MyBatis环境搭建

    Struts2+Spring+MyBatis环境搭建 Struts2、Spring 和 MyBatis 是 Java Web 开发中三个非常重要的框架,分别负责 MVC 模式的Presentation层、Business层和Persistence层。Struts2 负责处理用户的请求和响应,Spring ...

    struts2初始使用环境配置

    在开始使用Struts2之前,我们需要先进行环境配置。以下将详细介绍Struts2的初始使用环境配置步骤。 首先,确保你已经安装了Java Development Kit (JDK)。JDK是开发Java应用的基础,你需要至少JDK 1.6或以上版本来...

    struts2入门框架搭建需要的jar

    本文将深入探讨Struts2入门框架搭建过程中需要的核心jar文件及其作用。 1. **struts2-core-2.5.16.jar**:这是Struts2的核心库,包含了框架的主要组件,如Action、Result、Interceptor等。它提供了解析请求、执行...

    struts2的搭建及入门实例

    在这个“struts2的搭建及入门实例”中,我们将深入理解Struts2的基础概念,并通过实际操作来学习如何配置和运行一个简单的Struts2应用。 首先,Struts2的核心是它的Action类,它是业务逻辑处理的主要载体。在创建一...

    Struts2 环境搭建,五分钟即可快速入门

    ### Struts2环境搭建及Hello World程序实现 #### 一、Struts2简介 Struts2框架是基于Struts和WebWork技术的基础上发展而来的,它不仅继承了这两个框架的优点,而且还在架构上进行了重大改进。相比于Struts1,Struts...

    struts2入门实例教程详解

    ### Struts2入门实例教程详解 #### 一、环境搭建与基本配置 在开始学习Struts2框架之前,首先需要确保开发环境的正确搭建。根据提供的文档,所使用的开发工具为MyEclipse6,Web服务器为Tomcat6,Struts版本为...

    struts2开发入门以及webWork开发入门文档

    - `Max-Struts2教程.rar`可能包含了一个详细的Word文档,提供Struts2的基础教程,包括环境搭建、基本概念、实例应用等。 - `struts2教程.chm`是Windows的帮助文件格式,通常包含了分章节的教程内容,便于查阅和...

    struts入门例子-eclipse搭建

    这个入门例子是专为初学者设计的,旨在帮助理解如何在Eclipse集成开发环境中配置和运行一个基本的Struts2项目。在Eclipse中搭建Struts2环境涉及多个步骤,包括设置JDK、安装插件、创建项目以及配置相应的库和文件。 ...

    自学传智博客struts2-黎活明-源码-第01讲_01介绍struts2及struts2开发环境的搭建_DemoStruts2.rar

    自学传智博客struts2-黎活明-源码-第01讲_01介绍struts2及struts2开发环境的搭建_DemoStruts2.rar; 笔记地址:http://www.guloulou.com/?p=1253

    JavaWeb_SSH框架入门,IntelliJ idea搭建Struts2的helloWorld

    【JavaWeb_SSH框架入门,IntelliJ IDEA搭建Struts2的HelloWorld】是一个适合初学者的教程,主要讲解如何在IntelliJ IDEA这个强大的Java集成开发环境中搭建一个基于Struts2框架的简单Web应用。SSH框架是Struts2、...

    跟我一起学struts2之一:环境搭建篇

    本篇文章将带你逐步学习如何搭建Struts2的基础开发环境,让你顺利入门。 首先,我们需要了解Struts2的核心组件和工作原理。Struts2框架主要由以下部分组成: 1. **FilterDispatcher**:这是Struts2的前端控制器,...

    struts2 总结入门学习文档 教你如何搭建一个struts2环境

    struts2 总结入门学习文档 教你如何白手起家搭建Struts2开发环境、编写第一个struts2应用helloworld、属性介绍、接口、拦截器介绍、struts2标签等。93页

    Struts2教学视频

    **二、搭建Struts2的运行环境** 搭建Struts2环境通常包括以下几个步骤: 1. 引入Struts2的核心库依赖到项目中,这通常是在Maven或Gradle的pom.xml或build.gradle文件中添加对应的依赖。 2. 配置web.xml文件,将...

    struts2入门案例

    1. **环境搭建**:首先,你需要安装JDK、Apache Tomcat服务器、Eclipse或IntelliJ IDEA等开发工具,并设置好相应的环境变量。然后,通过Maven或Gradle来管理项目的依赖,添加Struts2的核心库。 2. **创建Maven项目*...

    struts2入门小案例源码

    本入门案例主要涵盖了Struts2的基础环境搭建和配置文件的使用,帮助初学者快速理解和掌握Struts2的核心概念。 在开始之前,确保你已经安装了Java开发工具包(JDK)和Apache Maven或Apache Ant,这些都是开发Java ...

    struts2+myeclipse 入门例子

    总之,"struts2+myeclipse 入门例子"旨在帮助初学者理解如何在MyEclipse环境中搭建和运行一个简单的Struts2项目。通过学习这个例子,你可以掌握Struts2的基础概念,如Action、配置文件、结果映射和视图渲染,同时也...

Global site tag (gtag.js) - Google Analytics