Struts2开发步骤

第一步:新建we项目

新建名称为“Struts"的web工程,新建方法:File->New->Web Service Project->Profect Name中输入:Struts->点击Finish按钮完成新建。

第二步:导入架包

(1)在Struts工程的右键菜单上选择"Properties"命令,打开”Properties for Struts2"对话框,在struts2解压后的lib目录中选择如下13个文件:asm-3.3.jar,asm-commons-3.3.jar,asm-tree-3.3.jar,commons-fileupload-1.3.jar(文件上传时需要使用),commons-io-2.2.jar( Java io扩展),commons-lang3-3.1.jar( 包含了一些数据类型的工具类),commons-logging-1.1.3.jar(日志处理),freemarker-2.3.19.jar( Struts2的标签模板使用类库),javassist-3.11.0.GA.jar(对字节进行处理),log4j-1.2.17.jar,ognl-3.0.6.jar(  Struts2使用的一种表达式语言类库),struts2-core-2.3.16.jar(Struts2框架的核心类库),xwork-core-2.3.16.jar( XWork类库,Struts2的构建基础)

(2)再把上面13个jar包考到“WebRoot\WEB-INF\lib”目录下

第三步:配置web.xml文件
StrutsPrepareAndExecuteFilter//struts准备和执行的一个过滤器
(导包:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter)
<!-- Struts2核心过滤器配置 -->
      <filter>
          <filter-name>struts2</filter-name>
          <filter-class>/org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
      </filter>
<!-- <url-pattern></url-pattern>过滤的请求格式 -->
      <filter-mapping>
          <filter-name>struts2</filter-name>
          <url-pattern></url-pattern>
      </filter-mapping>
第四步:开发视图层页面
    创建一个login.jsp
    <div align="center">
        <form action="" method="post">
            用户名:<input type="text" name=""/><br/>
            密    码:<input type="password" name=""/><br/>
            <input type="submit" value="登录"/>
        </form>
    </div>
第五步:开发控制层Action

实现Action(import com.opensymphony.xwork2.Action;)

public class HelloWorldAction implements Action {
    // 用户输入的姓名
    private String name = "";
    // 向用户显示的信息
    private String message = "";
    public String execute() {
    // 根据用户输入的姓名,进行"Hello,XXXX!"的封装
    this.setMessage("Hello,"+this.getName()+"!");
    // 处理完毕,返回导航结果的逻辑名
    return "success";
    }
    …    
    //省略setter、getter方法
}
第六步:src下配置Struts.xml文件
<?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>    
    <!-- 打开方法的动态调用 -->    
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />                        
    <!-- Struts-default里面是一些拦截器的配置 ("/")代表根目录-->
    <package name="mypackage" extends="struts-default" namespace="/">
        <action name="user" class="com.zking.action.UserAction">
            <!--成功跳转到login_success.jsp页面-->
            <result name="success" type="">login_success.jsp</result>
            <!--失败跳转到login_success.jsp页面-->
            <result name="fail" >login_fail.jsp</result>
        </action>
    </package>
</struts>

第八步:发布项目

按"F11"发布项目到Tomcat服务器或右键单击项目->Run As->Myeclipse Server Application->Tomcat6.0->OK即可。

struts2的执行流程:

  浏览器发起请求--->服务器接收并处理请求--->项目的web.xml 中匹配过滤器--->匹配是否有对应的Action--->生成对应的Action对象--->调用action对象的处理方法--->返回结果。

详细流程图:

<struts>
<!--
        constant 常量配置
        struts.devMode 设置是否是开发模式
     -->
    <constant name="struts.devMode" value="true" />
    <!-- 设置编码 -->
    <constant name="struts.i18n.encoding" value="utf-8"/>
    <!-- 设置action的扩展名 -->
    <constant name="struts.action.extension" value="action,,do"/>
    <!--
        package表示一个包每个包下可以配置多个action  包的作用主要用来区分不同模块的配置
        不同模块配置在不同的包下
        name 是包名  在项目下唯一 通常使用模块名做为包名
        extends 表示继承 必须直接或者间接继承struts-default
        namespace 表示命名空间  命名空间和请求名直接相关
        请求名=项目发布路径名+namespace名+action名
        namespace名称通常也和模块名相关
     -->
    <package name="default" extends="struts-default" namespace="/user">
        <!-- action 配置请求名 一个action表示对一个请求的处理
            name在同一个包下唯一 会作为请求名称 该名称会自动将请求的扩展名去掉,所以不用配置扩展名
            class 配置处理请求的类的完全限定名=包名+类名。如果不配置class默认由
            com.opensymphony.xwork2.ActionSupport来处理。
            method 配置处理方法的名称  默认由execute方法处理
            在struts2中处理方法  必须是 public的,返回值必须是String。
         -->
        <action name="hello" class="cn.sxt.action.HelloAction" method="hello">
            <!-- result配置的结果集处理  每个action中可以及配置多个result
                name表示结果集名称 和处理方法的返回值进行匹配 默认是success;
                type表示结果集类型
                    dispatcher 转发-默认
                    redirect 重定向
                    redirectAction 重定向到另外一个action
                    stream 流
                    chain  表示action链
                result中填写要跳转的页面的路径
            -->
            <result name="success" type="dispatcher">/index.jsp</result>
        </action>
    </package>
    <!--
        include用于添加其他配置文件,在团队开发中使用
        不同模块一般使用不同的配置文件,在总的配置文件中加入即可
     -->
    <include file="user.xml"></include>
</struts>
时间: 2024-10-15 19:55:17

Struts2开发步骤的相关文章

struts2 之 【struts2简介,struts2开发步骤,struts2详细配置,struts2执行流程】

入门框架学习避免不了的问题: 1. 什么是框架? 简单的说,框架就是模板,模子,模型.就是一个可重用的半成品. 2. 如何学习框架? 学习框架其实就是学习规则,使用框架就是遵循框架的规则,框架是可变的 和 不可变的部分组成,学习框架就需要把 什么可变什么不可变搞清楚. 3. 为什么使用 struts2 框架:聊这个问题先来聊一聊 Web的开发模式, model1 和 model2 模式. 4. model1模式:jsp+javaBean开发. 优点:执行效率高,代码比较少,开发效率比较高.适合小

struts2学习笔记2 -struts2的开发步骤和工作原理

struts2的开发步骤: 1.先定义一个能发送请求的页面,可以是链接,也可以是表单(form) 2.开发action类,struts2对action并没有过多的要求,只要求: a 推荐实现action接口,或继承actionsupport类 b 为每个请求参数都提供feild,并为之提供相应的setter和getter方法 c 该action类应该有无参数构造器 3.配置action类 所有action都需要放在package里配置. <action>元素有如下属性: name 指定该act

深入分析JavaWeb 43 -- Struts2开发入门

一.Struts2概述 1.Struts2是什么? Struts2是一个M(模型-域–范围模型)V(View视图)C(控制器)框架(模型2).框架都是一个半成品.提高开发效率. Struts1是一个MVC框架,非常流行.有很大的缺点.此时一个webwork的框架设计超前,名气不是很大.Struts1+webworkd=struts2.用的是struts1的名字,但是与sruts1没啥关系,struts2的核心是webwork框架. 2.Struts2能干什么? web开发Strust2 核心功能

Thrift实现C#调用Java开发步骤详解

转载请注明出处:jiq?钦's technical Blog Apache Thrift 是 Facebook 实现的一种高效的.支持多种编程语言的远程服务调用的框架. 类似的跨语言RPC框架还有ICE.Hessian.Protocol Buffer.Avro等. 1 下载Thrift 下载地址:http://thrift.apache.org/download thrift-0.9.3.exe         用于编译Thrift中间文件生成对应语言代码的工具 thrift-0.9.3.tar

Struts2开发基础

Struts2开发基础 struts2采用拦截器的机制来处理用户的请求,使得业务逻辑控制器能够与ServletAPI完全脱离开. 1. Hello World! 配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/

NDK---使用,开发步骤

使用NDk的场景: 1.某些方法,是使用C,C++本地代码实现的,然后,我想在Java中调用这些方法.这个时候,就需要使用到JNI技术. 为什么要使用C,C++代码实现呢? 原因是: 1.某些功能,需要使用到第三方的类库来实现,而第三方类库是用C或者C++写的,只有C或者C++代码才可以使用到该类库.于是, 就用C,C++代码实现.然后,实现后的方法,就供Java代码调用. 2.某些功能,使用C,C++代码来实现,速度和性能会高很多.比如,视频传输部分的代码.这个时候,将这部分功能,使用C,C+

Struts2开发环境搭建,及一个简单登录功能实例

首先是搭建Struts2环境. 第一步 下载Struts2去Struts官网 http://struts.apache.org/ 下载Struts2组件.截至目前,struts2最新版本为2.3.1.3,下载struts-2.3.16.3-all.zip,解压,放着. 第二步 新建Web Project并导入jar包在MyEclispe中新建Web Project,然后找到解压的Struts2包,在里面apps文件夹下找到struts2-blank.war,解压这个WAR文件,将里面WEB-IN

JNI开发步骤注意总结:

开发工具和环境搭建: 第一个工具: NDK (native develop kits) 交叉编译的工具链: 交叉编译: 在一个平台(处理器,操作系统)下 编译出来另外一个平台下可以运行的代码. windows AMD intel x86 架构-> 手机 android arm处理器 .c .java 1. 编译  把源代码(高级语言)编译成一个低级语言 (汇编语言) 2. 连接  根据具体平台的特性,(cpu的类型 x86 arm,操作系统的类型) 连接成一个可以执行的二进制可执行的程序. 第二

【AngularJS学习笔记】开发时候的建议目录结构,基本开发步骤

项目目录结构划分 Debug Node.JS的生成目录 Node_modules Node.Js的依赖项 Src 项目源文件 ----|framework  项目框架 --------|app --------|css --------|data --------|font --------|img --------|js --------|plugin ----|modules --------|父菜单中填写的module名,父节点 ------------|app 主要项目文件 ------