zoukankan      html  css  js  c++  java
  • Struts2初体验

    1.Struts 2及其优势

    Struts 2是一个MVC框架,以WebWork框架的设计思想为核心,吸收了Struts 1的部分优点

    Struts 2拥有更加广阔的前景,自身功能强大,还对其他框架下开发的程序提供很好的兼容性

    步骤1: 配置web.xml文件

    <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>
         <!-- 拦截所有的action -->
         <url-pattern>/*</url-pattern>
     </filter-mapping>

    步骤2:在src下创建名称为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>
        <!-- 配置文件中只要添加以下配置,那么以后修改配置文件不用重启tomcat -->
        <constant name="struts.devMode" value="true" />
    
        <package name="default" namespace="/" extends="struts-default">
            <!-- 第一个action的例子 -->
            <action name="helloWorld" class="cn.happy.action.HelloWorldAction">
                <result name="success">
                   index.jsp
                </result>
            </action>
            <!-- 登陆的action -->
        </package>
        <!-- Add packages here -->
    
    </struts>

    步骤3:编写HelloWorldAction

    package cn.happy.action;
    
    import com.opensymphony.xwork2.Action;
    
    public class HelloWorldAction implements Action{
        private String name ;
        private String message;
        public String execute() throws Exception {
            setMessage("Hello"+getName());
            return "success";
        }
    }

    步骤4:创建index.jsp页面

     <div>
            <h1>
                <!--显示Struts Action中message的属性内容-->
                <s:property value="message"/>
            </h1>
        </div>
        <div>
            <form action="helloWorld.action" method="post"> 
                请输入您的姓名: 
                <input name="name" type="text" />
                <input type="submit" value="提交" />
            </form>
        </div>

    步骤5:通过浏览器访问

    点击提交后结果

    2.struts配置文件说明

    <!-- 配置文件中只要添加以下配置,那么以后修改配置文件不用重启tomcat -->
    <constant name="struts.devMode" value="true" />

      一个警告的解决

    问题描述:No configuration found for the specified action: 'login.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value.

      解析:

    <s:form action="Login" method="post" namespace="/"> or <s:form action="/Login" method="post" >

    3.登陆案例

    步骤一:struts.xml文件

     <!-- 登陆的action -->
            <action name="login" class="cn.happy.action.LoginAction">
               <result name="success">
                   login/success.jsp
               </result>
               <result name="login">
                   login/login.jsp
               </result>
            </action>

    步骤二:LoginAction类的创建

    package cn.happy.action;
    
    import com.opensymphony.xwork2.Action;
    
    public class LoginAction implements Action{
         private String username = "";
         private String password = "";
         public String execute() throws Exception {
            if (username.equals("1")&&password.equals("1")) {
                return SUCCESS;
            }else {
                return LOGIN;
            }
    
         }
    }

    步骤三:创建登陆界面

     <s:form name="form1" namespace="/" method="post" action="login">
           请输入用户名: <s:textfield name="username"></s:textfield> <br/>
            <s:textfield name="password"></s:textfield><br/>
            <s:submit value="登陆"></s:submit>
         </s:form>

    步骤四:在浏览器中访问

    4.登陆案例强化:关于自动装配问题

     在开发中,通常会以JavaBean方式保存数据。所以可以有如下写法

           Action

           Jsp页面

  • 相关阅读:
    CTex中fig、table、equation与section的引用\label小注意
    中国科学院深圳先进技术研究院招聘研究助理、软件工程师、客座学生
    FFTW 3.2.2有bug?
    斯坦福大学的Realtime 3D internal marker tracking during arc radiotherapy by the use of combined MV–kV imaging
    转载:内存管理
    中国科学院深圳先进技术研究院招聘:助理研究员、研究助理、软件工程师、客座学生
    又一篇做retargeting的SIGGRAPH论文 scalable and coherent video resizing with perframe optimization
    Google和百度的map思索
    laplacian pyramid
    macroglossa.com有趣的image search engine
  • 原文地址:https://www.cnblogs.com/fl72/p/9974253.html
Copyright © 2011-2022 走看看