• Struts入门初体验


    一 ,入门小案例

    1,首先引入三个jar

            <dependency>
                <groupId>javaee</groupId>
                <artifactId>javaee-api</artifactId>
                <version>5</version>
            </dependency>
    
            <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-core</artifactId>
                <version>2.3.4.1</version>
            </dependency>
    
            <dependency>
                <groupId>org.apache.struts.xwork</groupId>
                <artifactId>xwork-core</artifactId>
                <version>2.3.4.1</version>
            </dependency>
    

      2,配置web.xml

    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
    
    
      <filter>
        <filter-name>struts1</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>struts1</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
    
    </web-app>
    

      3,创建实体类HelloAction并实现Action

    public class HelloAction implements Action{
    
        public String execute() throws Exception {
            return SUCCESS;
        }
    }
    

      4,创建配置文件struts.xml

    <?xml version="1.0" encoding="UTF-8" ?>
            <!DOCTYPE struts PUBLIC
                    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
                    "http://struts.apache.org/dtds/struts-2.3.dtd">
    <struts>
    
            <action name="hello" class="cn.happy.controller.HelloAction">
            <result name="success">index.jsp</result>
        </action>
            
        </package>
    </struts>
    

      5,入门小案例就写完啦,通过struts.xml中action的name名来访问。

    二 ,登陆小案例

    1,创建实体类LoginAction

        private  String username;   //用户名
        private  String password;   //登陆密码
        public String execute() throws Exception {
            //如果你的用户名和密码都是admin,return success.反之,走到login
        if(username.equals("admin")&&password.equals("admin")){
            return SUCCESS;
        }else {
            return LOGIN;
        }
     public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        }
    

      

    2,配置struts.xml

    <?xml version="1.0" encoding="UTF-8" ?>
            <!DOCTYPE struts PUBLIC
                    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
                    "http://struts.apache.org/dtds/struts-2.3.dtd">
    <struts>
            <action name="login" class="cn.happy.controller.LoginAction">
                <result name="success">day01/success.jsp</result>
                <result name="login">day01/login.jsp</result>
            </action>
        </package>
    </struts>
    

    3,开发视图登陆页面

    <%@taglib prefix="s" uri="/struts-tags" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <s:form name="form1" namespace="/" method="post" action="login">
        请输入用户名:</br>  <s:textfield name="username"/>
        请输入密码:<s:password name="password"/>
        <s:submit value="登陆"></s:submit>
    </s:form>
    
    </body>
    </html>
    

     

    三,强化一下刚才的登陆案例,通过javaBean自动装配

    1,新建实体类UserInfo

    2,修改刚才的LoginAction页面

        //植入实体类
    private UserInfo info=new UserInfo();
    public String execute() throws Exception {
            //如果你的用户名和密码都是admin,return success.反之,走到login
        if(info.getUsername().equals("admin")&&info.getPassword().equals("admin")){ return SUCCESS; }else { return LOGIN; }
    public UserInfo getInfo() {
    return info;
    }

    public void setInfo(UserInfo info) {
    this.info = info;
    }
    }


    
    

      3,修改一下登陆页面

    <%@taglib prefix="s" uri="/struts-tags" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <s:form name="form1" namespace="/" method="post" action="login">
    请输入用户名:</br>  <s:textfield name="info.username"/>
    请输入密码:<s:password name="info.password"/>
    <s:submit value="登陆"></s:submit> </s:form> </body> </html>

      4,登陆成功后success.jsp

    5,这个时候登录名已经自动装配上了

    四,Struts2访问Servlet API

    解耦方案一:: 对Servlet API进行封装   ,借助ActionContext

     

    
    

  • 相关阅读:
    JS 语法: document.getElementById没有括号
    c#,WinForm中读写配置文件App.config
    System.Data.SQLite数据库简介
    把JS 脚本嵌入CS运行
    Syteline Receiving By Purchase Orders Report
    TSQL DATEPART() Functions
    TSQL CONVERT Functions
    TSQL CAST Functions
    接口(Interface)替代抽象(Abstract)
    独立子查询
  • 原文地址:https://www.cnblogs.com/spghs/p/8473841.html
Copyright © 2020-2023  润新知