struts2学习笔记1


1、struts2.x与struts1.x有着本质的区别,struts2.x是webwork和struts1.x的整合,主要是基于webwork的原理架构,所以与struts1.x有很多不同的地方。

2、所有客户端请求,都是经过struts2的FilterDispatcher类进行过滤后,转向分发处理的。这个定义在所有web.xml文件中
    <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>

    该配置定义了,struts过滤的类和它所可以截获的请求,一般请求有三种:
    /*        表示所有请求
    *.do        表示所有.do的请求
    *.action    表示所有.action的请求

3、struts2的配置文件 struts.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
    <struts>
        <package name="com.careland.action" namespace="/" extends="struts-default">
            <action name="Login" class="com.careland.action.loginAction">
                <result name="success">/Index.jsp</result>
                <result name="failed">/Login.jsp</result>
            </action>
        </package>    
    </struts>
    1)配置文件都是以包元素开始,根目录是固定的<struts>,包需要定义包名,这个要与你定义类的包名一至;
    需要指定包继承默认的struts-default类;名空间可以没有,直接用/表示,如果有,如:namespace="/myDemo"
    那么在表单请求路径中必须这样写:myDemo/你的action名.action

    2)包里面定义你的每一个action,每一个action定义需要一个自定义的名字,和它所指向的类。
        action的名字name="Login" 是下面表单路径需要对应用的
        <form action="Login.action" method="post">
    3)action中定义,请求结果后的转向路径,以斜扛"/"开头;
4、struts2标签库
    
    1)需要使用struts2标签库,需要引用:<%@ taglib prefix="s" uri="/struts-tags"%>
    prefix="s" 中的s 是标签的起始名,是自定义的,这里你也可以用a b c等等

    2)struts2标签,每一个元素独占一行,且默认右对齐
    表单中的action直接写名字就可以了,不需要Login.action里面的后缀        
    <s:form action="Login" method="post">

5、struts2表单输入验证    struts2里的ActionSupport类,里面有validate()方法,该方法我们需要覆盖重写,加入自己的判断。
    当validate方法验证,未通过时,将自动转向action配置中的input结果的路径,这个input是固定的。
    <action name="Login" class="com.careland.action.loginAction">
        <result name="input">/Login.jsp</result>
        <result name="success">/Index.jsp</result>
        <result name="failed">/Login.jsp</result>
    </action>


你可能感兴趣的:(struts,Webwork,input,action,login,encoding)