<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    login.jsp
    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@taglib prefix="s" uri="/struts-tags" %>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
        
    <title>struts標(biāo)簽的登陸頁(yè)面</title>
    </head>
    <body>
        
    <s:form name="loginForm" method="post" action="login" >
            
    <s:textfield name="username"  label="用戶名"></s:textfield>
            
    <s:password name="pwd"  label="密  碼"></s:password>
            
    <s:submit label=" 登  陸 "></s:submit>
            
    <s:reset  label=" 重  置 "></s:reset>
        
    </s:form>
    </body>
    </html>

    show.jsp
    <%@ page language="java" pageEncoding="UTF-8"%>
    <html>
    <head>
        
    <title>顯示結(jié)果</title>
    </head>
    <body>
        
    <!-- 因?yàn)閟truts2都是用的dispatcher即轉(zhuǎn)發(fā),都是同一次請(qǐng)求,所以可以到request作用于中取值 -->
        
    <h3>用戶名--->${requestScope.username}<br>
            密碼--->${requestScope.pwd}
    <br>
    </body>
    </html>

    loginAction
    package com.yz.struts2.actions;

    import com.opensymphony.xwork2.ActionSupport;

    public class loginAction extends ActionSupport{
        
        
    private String username;
        
    private String pwd;
        
    public String getUsername() {
            
    return username;
        }

        
    public void setUsername(String username) {
            
    this.username = username;
        }

        
    public String getPwd() {
            
    return pwd;
        }

        
    public void setPwd(String pwd) {
            
    this.pwd = pwd;
        }

        
        
    public String helloWorld()  {
            System.out.println(
    "用戶名--->"+username);
            System.out.println(
    "密碼--->"+pwd);
            
    if("小毅".equals(username) && "xiaoyi".equals(pwd)){
                
    return "ok";//查找名字為ok的result,相當(dāng)于struts1.*的foward名
            }
    else{
                
    this.addFieldError("username","用戶名或密碼錯(cuò)誤");
                
    return "failer";
            }

        }

        
    //驗(yàn)證表單輸入
        @Override
        
    public void validate() {
            
    if("".equals(this.getUsername().trim()) || null==this.getUsername()){
                
    //第一個(gè)參數(shù)為: index.jsp表單中的文本框的name(名字)第二個(gè)為錯(cuò)誤消息
                this.addFieldError("username""用戶名不能為空");
            }

            
    if("".equals(this.getPwd().trim()) || null==this.getPwd()){
                
    this.addFieldError("pwd""密碼不能為空");
            }

        }

        
    }


    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    >
        
    <!-- struts2采用過(guò)濾器過(guò)濾客戶端發(fā)送給服務(wù)器的所有請(qǐng)求 -->
        
    <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>
        
    <welcome-file-list>
            
    <welcome-file>index.jsp</welcome-file>
        
    </welcome-file-list>
    </web-app>

    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>
    <!-- struts2會(huì)自動(dòng)到classes下找struts.xml,
    直接放在src下工具會(huì)自動(dòng)把src下的文件編譯到classes下 
    dtd頭信息表示 sturs為根標(biāo)簽
    -->
        
    <!-- struts2這個(gè)包繼承sturs2內(nèi)置的包struts-default -->
        
    <package name="struts2" extends="struts-default">
            
    <!-- 配置action
                name: 對(duì)應(yīng)index.jsp頁(yè)面中form的action= login.action 的login
                struts默認(rèn)所有以點(diǎn)action結(jié)尾的請(qǐng)求交給struts處理,因?yàn)槔^承自webwork的特性,習(xí)慣于這樣。。
                class: action對(duì)應(yīng)的類,包名點(diǎn)類名全路徑(com.yz.struts2.loginAction)
                method:請(qǐng)求該action時(shí)自動(dòng)執(zhí)行的方法,如果沒(méi)有配置默認(rèn)執(zhí)行execute方法
             
    -->
            
    <action 
                
    name="login" 
                class
    ="com.yz.struts2.actions.loginAction"
                method
    ="helloWorld"
            
    >
            
    <!-- result默認(rèn)的name為success -->
            
    <result name="ok">/show.jsp</result>
            
    <!-- 在繼承ActionSuport的action中的validate方法來(lái)驗(yàn)證表單輸入信息,驗(yàn)證中添加filedError后返回
                name為input的result對(duì)應(yīng)的頁(yè)面,必須name為input,類似于struts1.*中action配置的input
             
    -->
            
    <result name="input">/login2.jsp</result>
            
    <result name="failer">/login2.jsp</result>
            
    </action>
            
        
    </package>
    </struts>

    posts - 0, comments - 21, trackbacks - 0, articles - 101

    Copyright © H2O

    主站蜘蛛池模板: 色欲A∨无码蜜臀AV免费播 | 91免费国产精品| 99精品免费视频| 久久99精品免费一区二区| 免费一级毛片不卡不收费| 四虎成人免费大片在线| 国产美女a做受大片免费| 日本免费在线中文字幕| 免费人成在线观看网站| 日本在线免费播放| 99热在线精品免费播放6| 95老司机免费福利| 18禁网站免费无遮挡无码中文| 国产成人精品免费午夜app | 国产高清不卡免费视频| 免费网站看av片| 91久久精品国产免费一区| 亚洲国产精品免费观看| AV免费网址在线观看| 免费看香港一级毛片| 国产在线jyzzjyzz免费麻豆| 国产精品色拉拉免费看| 天天看片天天爽_免费播放| 国产成人免费一区二区三区| 亚洲国产精品尤物yw在线| 亚洲熟妇无码AV在线播放| 亚洲爱情岛论坛永久| jlzzjlzz亚洲jzjzjz| 久久亚洲精品无码gv| 国产精品亚洲精品青青青| 亚洲JLZZJLZZ少妇| 色老头综合免费视频| 日本高清不卡aⅴ免费网站| 99无码人妻一区二区三区免费| 大陆一级毛片免费视频观看| 婷婷亚洲天堂影院| 亚洲激情中文字幕| 亚洲色大成网站WWW国产| 亚洲日本在线电影| jizz18免费视频| 亚洲精品在线免费看|