struts2.3.8基础配置&Demo

对于struts2的介绍,这里略过,今天,这里主介绍struts2.3.8的基本配置和实现一个简单的Demo.

1.  环境

    struts2.3.8下载地址:http://struts.apache.org/download.cgi#struts238


2.  添加引用(copy jar包至WebContent/WEB-INF/lib目录下)

    若使用struts2.3.8总共需要引入以下10个jar包.分别是: struts2-core-2.3.8.jar、xwork-core-2.3.8.jar、ognl-3.0.6.jar、commons-io-2.0.1.jar、freemarker-2.3.19.jar、javassist-3.11.0.GA.jar、commons-lang3-3.1.jar、commons-lang-2.4.jar、commons-logging-1.1.1.jar、commons-fileupload-1.2.2.jar

3.     修改web.xml,增加struts配置

   <filter>
        <filter-name>struts2</filter-name>     
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
       配置说明: filter->filter-name:设定filter别名

                         filter->filter-class:设定filter对应的类名(全路径).  struts2允许用户自定义filter.

                        filter-mapping->filter-name:用于指定用于处理url-pattern的struts filter 别名.

                        filter-mapping->url-pattern:设定url匹配规则,可用正则表达式. /*表示站点根目录所有文件.

4.     添加struts.xml.并存放于/WebContent/WEB-INF/classes文件夹下 

    <?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>
    <!--这里放置struts相关配置-->
   </struts>
5.   经过以上步骤,你可以启动你的web server,确认是否有Exception. 如果发生异常, 请至我的java异常收集与整理查找解决方案.

6. 接下来,引入Demo

     首先, 编写Action.此处为LoginAction.通常所有Action都会继承至com.opensymphony.xwork2.ActionSupport, 普遍的做法是编写BaseAction类,并继承ActionSupport.此为配置入门,让我们看看最原始的写法.

 public class LoginAction extends ActionSupport {
    public String userName;
    public String getUserName() {
        return userName;
    }
 
    public void setUserName(String userName) {
        this.userName = userName;
    }
     
    public String passWord;
    public String getPassWord() {
        return passWord;
    }
 
    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }
 
     
    public String execute(){
        if(!userName.equals("admin")){
            super.addFieldError("userName.error", "用户名错误");
            return ERROR;
        }
        if(!passWord.equals("001")){
            super.addFieldError("passWord.error", "密码错误");
            return ERROR;
        }
        return SUCCESS;
    }
public void validate(){
        if(userName==null || userName.length()==0){
            super.addActionError("用户名不能为空");
        }
        if(passWord==null || passWord.length()==0){
            super.addActionError("密码不能为空");
        }
    }
}

7.  于struts.xml中增加action的配置 

<struts>
   <!-- 配置struts action的后缀,默认为.action 如果没有,则value设为空即可-->
   <constant name="struts.action.extension" value="action,do,webwork" />
   <package name="struts2" extends="struts-default">
      <!-- 这里的method默认是execute,也可显示指定.还有可以通过url指定.eg:login!login.action -->
      <action name="login" class="org.lyh.ssh.demo.action.LoginAction" method="execute">
        <result name="success" type="redirect">index.jsp</result>
        <!-- 当validate方法验证错误时,默认result=input,只有验证通过,才会调用指定的method -->
        <result name="input">/pages/login.jsp</result>
        <result name="error">/pages/login.jsp</result>
      </action>
   </package>
</struts>

对于struts的学习,最重要的就是要理解其配置的意义. 代码中以对相关配置做了注解.


8.  编写前台jsp页面

<%@ page language="java" contentType="text/html; charset=BIG5" pageEncoding="BIG5"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=BIG5">
  <title>User Login</title>
</head>
<body>
  <s:form name="form1" action="login.do">
    <s:fielderror></s:fielderror><!—mapping addFieldError()-->
    <s:actionerror /><!—mapping addActionError()-->
    <!—input name应与Action中的属性名一致,才能传值成功-->
    <s:textfield name="userName" label="UserName"></s:textfield>
    <s:password name="passWord" label="Password"></s:password>
  <s:submit label="Login..."></s:submit>
</s:form>
</body>
</html>
   在jsp文件中.我们用到了struts tags. 在减少编写的代码量的同时, struts tags提供了更多更强的功能.

9.  结束语: 通过以上步骤, 我们的第一个struts2.3.8的配置及demo就算完成了.文章中没有过多的文字介绍.主要是记录配置、编写步骤.  一步一步引导大家开始struts的应用.

10. 参考文章:

       http://hi.baidu.com/xuqiangqiang2/item/a842a24a6d0b2fbedf2a9f89

      http://www.cnblogs.com/ITEagle/archive/2010/04/02/1703404.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值