Struts2学习笔记(3)-----Struts2入门

       前言:这是本人学习的结果,欢迎转载,欢迎交流,但转载务必给出本文章的链接地址:http://blog.csdn.net/youqishini/article/details/7051421,谢谢~ 


       前两节虽说用到了Struts2,但是还没有用到Struts2的精髓。真正的Struts2都是将action写在struts.xml配置文件中,这样便于管理与action的多次使用。


      下面将通过一个登陆的小例子来演示Struts2的基本配置流程,会了这些说明你对Struts2有了一个基本的了解,算是入门了。


      同样此次项目以前是在以前的项目基础上进行。


      一.添加Struts2所需要的jar包,本项目中添加的jar包如下所示:


Struts2学习笔记(3)-----Struts2入门_第1张图片


     其中所必需的jar包为:commons-logging-1.1.jar,freemarker-2.3.13.jar,ognl-2.6.11.jar,struts2-core-2.1.6.jar,xwork-2.1.2.jar.


      二.在web.xml中添加Struts2的过滤器,如下所示:


<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>


       web.xml配置文件用来配置这个项目的servlet容器的属性。Filter和filter-mapping用来建立Struts2的FilterdIspathcher.filter的映射方式是 “/*”,这就意味着所有的请求都将被Struts2的FilterDispatcher类处理。


        三.登录页面login.jsp,代码如下:

 

<%@ page language="java"contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<%@ taglib prefix="s"uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type"content="text/html; charset=gb2312">
<title>登陆</title>
</head>
<body>
    <s:form action="login">
                                     登陆
       <s:textfield name="username"label="用户名" ></s:textfield>
       <s:password name="passworld"label="密 码"></s:password>
       <s:submit value="登陆"></s:submit>
    </s:form>
</body>
</html>


      这里面注意Struts2标签的使用,看的简单却很强大。


      四.Action的文件LoginAction.java,代码如下所示:

 

package com.iman.action;
 
import com.opensymphony.xwork2.ActionSupport;
 
public class LoginAction extends ActionSupport {
    private String username;
    private String passworld;
   
    public Stringlogin(){
       if(username.equals("admin") && passworld.equals("123")){
           return SUCCESS;
       }
       return ERROR;
    }
 
    public String getUsername() {
       return username;
    }
 
    public void setUsername(String username) {
       this.username = username;
    }
 
    public String getPassworld() {
       return passworld;
    }
 
    public void setPassworld(String passworld) {
       this.passworld = passworld;
    }
   
}


       注意的是“SUCCESS”和“ERROR”是Struts2常用的5个属性之一,而usernamer和passworld都要以setter和getter的形式”,否则将不能被jsp页面接受。


       五.登陆成功后的页面loginSuccess.jsp,代码如下:

 

<%@ page language="java"contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type"content="text/html; charset=gb2312">
<title>登录成功</title>
</head>
<body>
    <s:property value="username"/>,恭喜您,登陆成功!
</body>
</html>


       六.登陆失败后的页面loginError.jsp:

 

<%@ page language="java"contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type"content="text/html; charset=gb2312">
<title>登录失败</title>
</head>
<body>
对不起,用户名或密码错误!
</body>
</html>


       其中loginSuccess.jsp和loginError.Jsp都是在WebContent下新建一个results文件夹后将其放在这个文件夹里

七.开始在struts.xml里面配置,代码如下:

 

<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD StrutsConfiguration 2.1//EN"
    "http://struts.apache.org/dtds/struts-2.1.dtd">
    <struts>
    <package name="default" extends="struts-default"namespace="/">
        <action name="login" class="com.iman.action.LoginAction"  method="login">
            <result name="success">/results/loginSuccess.jsp</result>
            <result name="error">/results/loginError.jsp</result>
        </action>
    </package>
</struts>


        其中action的name对应form表单的action,method对应Java类Action中方法,如果登陆成功将跳转到loginSuccess.jsp页面,失败则跳转到loginError.jsp页面。


        好了,经过这么一通编写、配置,可以运行了,打开服务器并部署项目,打开浏览器,在地址栏输入:http://localhost:8000/Struts2Tutorial/login.jsp运行页面如下:


Struts2学习笔记(3)-----Struts2入门_第2张图片


       我们设置的用户名为admin,密码为123,如果输入正确后则跳转到loginSuccess.jsp页面中:


Struts2学习笔记(3)-----Struts2入门_第3张图片


       如果失败则跳转到loginError.jsp页面: 


Struts2学习笔记(3)-----Struts2入门_第4张图片

 

       如果你成功运行了,说明你配置正确了,算是入门了,至于Struts2其他的重要特性在将后还是要学习的。

看的出来Struts2真的很强大,当然这只是最基本的用法,后面将学习更加实用的东西!


        最后附上本项目的结构图:


Struts2学习笔记(3)-----Struts2入门_第5张图片





你可能感兴趣的:(html,struts,String,filter,action,login)