struts2开发步骤详情


java初学者专题教程:struts2开发步骤详情

一、去struts2官网下载支持包
        地址:http://struts.apache.org/download.cgi,目前最新版本是2.3.16.3,这里下载的是struts2-2.3.16.3-all.zip.
        将下载的压缩包解压

           

二、打开开发工具,创建新的web项目工程,这是使用的是myeclipse6.5

          

          



三、导入struts2支持包
        打开下载之后解压的文件夹,打开lib目录将以下包加入刚创建的项目工程

	commons-fileupload-1.3.1.jar
        commons-io-2.2.jar
        commons-logging-1.1.3.jar
        freemarker-2.3.19.jar
        ognl-3.0.6.jar
        struts2-core-2.3.16.3.jar
        xwork-core-2.3.16.3.jar
        commons-lang-2.4.jar
        commons-lang3-3.1.jar

注意:这里下载的是struts2-2.3.16.3-all.zip,与以往2.1有所不同,
        还要加struts2-2.3.16.3-all\struts2-2.3.16.3\apps\struts2-blank.war(需要解压)解压后
        struts2-blank\WEB-INF\lib里面的javassist-3.7.ga.jar文件
        如果没有添加该包,启动工程将会报如下错误


	[mw_shl_code=java,true]严重: Dispatcher initialization failed
        java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

 解决错误地址:http://www.javalearn.net/forum.p ... p;highlight=struts2


三、配置struts2.xml文件
        
       你可以百度一下strtus2.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>
        <!-- 解决中文乱码 -->
        <constant name="struts.i18n.encoding" value="UTF-8" />
        <package name="default" namespace="/" extends="struts-default">
                
        </package>
</struts>


具体该文件如何配置,自己去查找资料,这里很简单。不具体说明


三、配置监听器

       由于我们项目运行在发出请求的时候,struts2需要对请求进行拦截,所以,在web.xml文件中我们需要配置struts2监听器
向web.xml文件添加如下代码


 <!--配置过滤器,如下设置是struts2的主要拦截器   -->
  <filter>
     <filter-name>struts2</filter-name>  
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
   
 <!-- 对应于<filter>配置的<filter-mapping>,一个filter可以对应配置多个<filter-mapping>   -->
  <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>*.action</url-pattern> 
 </filter-mapping>

四、填写修改jsp页面

        这里我们做一个简单的案例,在一个页面中放入一个文本框,然后提交给后台接收数据,又返回给前台显示数据。
        
        1>在index.jsp中添加如下表单代码 并修改编码格式

<form action="" method="post">
             <input type="text" value="" name="textValue"/>
             <input type="submit" value="提交" />
     </form>

form的action对应着我们要提交的一个地址,这里我们先不填

        2>在WebRoot目录下创建新的jsp文件 result.jsp    该jsp是我们在发送请求之后响应结果的页面

同样修改编码格式并添加如下代码

	提交的内容: ${result}

五、添加Action

        在src目录下创建的包action,在action包下创建一个java类,StrutsAction.java,类继承ActionSupport
        
        定义一个字段textValue,实现set与get方法。再创建一个方法,代码如下

        
        package action;

import java.util.Map;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class Struts2Action extends ActionSupport{
        //接受请求的数据
        private String textValue;

        public String getTextValue() {
                return textValue;
        }

        public void setTextValue(String textValue) {
                this.textValue = textValue;
        }
        
        public String getTextName(){
                //获取request对象并储存返回页面
                ActionContext ac = ActionContext.getContext();
                Map request=(Map)ac.get("request");
                request.put("result", textValue);
                return "result";
        }
}

getTextName方法作用是是去响应请求

          同时修改struts2.xml文件在package标签下添加如下代码

<action name="getText" class="action.Struts2Action" method="getTextName">
                        <result name="result">result.jsp</result>
</action>

一个action相当于一个请求,name代表请求名称,class,处理请求的类,method是处理请求类中的方法

result标签是在处理请求后需要跳转的地址

         在修改strtus2.xml文件之后,同时需要修改index.jsp表单中form的action属性


       

	<form action="getText.action" method="post">

基本配置在这里已经完成了启动tomcat效果如下



原文地址及案例源码下载:http://www.javalearn.net/forum.php?mod=viewthread&tid=115



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黑鸣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值