Struts2.0 (开发之一)--简介与简单登录的实现--CTO

转载时请注明文章出处 : http://blog.csdn.net/ctojxzsycztao 作者 : ctojxzsycztao                                                            上一编文章写的太突然了,没有考滤到朋友们对struts2 的了解,就埋下了伏笔,真不好意思,因为本人对struts2的理解有限,所以也只能做简单介绍,还请各位读友多多见解.

Struts2简单介绍 : struts2与struts1.x的最大区别在于,struts1.x需要继承 Action 而struts2不需继承任何类,是一个完整的POJO,更方便扩展,调试,struts1.x 的Action 就难以调试,它的状态完全由struts1.x 容器进行管理,struts2 吸收webwork2的优点,是struts1.2和webwork2 强强联合的精华,集合了spring 的 ioc/di思想. 其最大的优点在于Action 不用再继承Action,方法名也不再是限于execute,可以任由开发人员定义,每个方法都返回一个String ,方便调试 便于脱离Struts2框架

开发环境: tomcat5.5.20 和 jdk1.5 及以上:     

Struts2 的开发过程 :                                                                                                                                                               一 .  首先到 http://struts.apache.org/ 下载所需要的开发包,其中包括以下jar文件:commons-logging-1.1.jar , freemarker-2.3.8.jar , ognl-2.6.9.jar , struts2-api-2.0.5.jar , struts2-core-2.0.5.jar , xwork-2.0.0.jar ,                         二.    jar 包下载下来应包含以上 jar 文件 , 将这些 jar 文件copy到工程项目的 lib 目录下,                                             三 . 添加一个action , 一个完整的 action 如下:              

public class UserAction {
    
private String userName;
    
private String password;
    
private static final String SUCCESS = "success";
    
private static final String ERROR = "error";
    
    
public void setUserName(String userName) {
               
this.userName = userName;
    }

    
public String getUserName() {
               
return userName;
    }

    
public void setPassword(String password) {
               
this.password = password;
    }

    
public String getPassword() {
               
return password;
    }

    
    
public String login() throws Exception{
               
if(this.getUserName().equals("chentao"&& this.getPassword().equals("chentao")) {
         
return SUCCESS;
               }

               
return ERROR;
    }

}

二.  在classpath的根目录下添加 struts.xml,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>
    
<!-- name包名一定要唯一 namespace是确定的url前缀 extends 是设置struts2的初始化环境 -->
    
<package name="userManager" namespace="" extends="struts-default">
        
<!-- name是客户端提交的路径,class需要调用的action method 调用的方法 -->
        
<action name="login" class="action.UserAction" method="login">
            
<!-- result 根据响应状态转发到相对的页面 -->
            
<result name="success">/success.jsp</result>
            
<result name="error">/error.jsp</result>
        
</action>
    
</package>
</struts>
三.在web.xml 中加入一个 filter 类,用来加载struts2 环境:代码如下:
<filter>
    
<filter-name>webwork</filter-name>
    
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
    
<filter-name>webwork</filter-name>
    
<url-pattern>*.action</url-pattern>
</filter-mapping>
四. 添加 login.jsp 页面:
<%@page language="java" contentType="text/html;charset=gb2312"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
         
<title>用户登录</title>
<head>
<body>
         
<s:form action="login">
                  用户名:
<s:textField name="userName"/><br />
                  密    码:
<s:textField name="pwd"/> <br />
                             
<s:submit value="login"/>
         
</s:form>
</body>
</html>
好了可以了,登录完全成功, 我试过,不信你试试 , 下一编将讲 struts2 的跟踪状态
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章