zoukankan      html  css  js  c++  java
  • struts2之一

    在javaweb平台上 struts是有着很强大功能的框架,从struts1.x到struts2.x不断更新....

     本人今天学习了struts2框架,用的是struts-2.3.1.2-all这个版本

     学习struts之前先简单说说servlet (就是一个处理请求的类) 大家知道jsp的请求可以提交给一个servlet,然后由servlet进行一系列的转换再返回给某个对象,但是servlet中的变量一般都要放在方法里面(为局部变量),servlet中的成员变量为每次请求所共有,所以每次请求都要写一个单独servlet,非常繁琐。struts框架就是在servlet的基础上加以改进,通过各种配置来控制程序的运行....废话就说这么多...

    例子开始:

    第一步:建web项目

    用myeclipse新建一个web项目struts2test  (和平时建立web项目一样)  

    第二步:导入jar包

    解压你所下载的struts2压缩包,在文件夹lib中找到这么几个jar文件拷贝到web项目中的lib文件夹下:

    QQ截图20120706204902

    然后再在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>
         <url-pattern>/*</url-pattern>
    </filter-mapping>
    </web-app>

    第三步:在src目录下新建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>

    <package name="struts2" extends="struts-default"><!--  name="struts" 随便起名字和项目名字没关系—>

          

    </package>

        </struts>

    第四部:将项目部署到tomcat6容器上,并启动tomcat6 !成功配置struts2框架

    下面写个简单的程序来测试struts框架:

    第一步:

    在src目录下建一个包: com.test.action

    bean这个包中建立一个类Action1并让他继承自com.opensymphony.xwork2.ActionSupport类

    内容如下:

    public class Action1 extends ActionSupport {
        private String username;
        private String password;


           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;
        }
     
        public String execute() throws Exception {
                   return SUCCESS;
        }
     

    第二步:建立jsp页面first.jsp:

    <body>
       <form action="action1.action">
           username:<input type="text" name="username"><br>
           password:<input type="password" name="password"><br>
        <input type="submit" value="submit">
       </form>
      </body>

    第三步:在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>

    <package name="struts2" extends="struts-default"><!-- name="struts" 随便起名字和项目名字没关系—>

       <action name="action1" class="com.test.action.Action1">
            <result name="success">/success.jsp</result>

    </package>

    </struts>

    第四部:编写success.jsp页面

    <body>
       username: ${requestScope.username }<br>
       password: ${requestScope.password }

    </body>

    最后启动tomact 在浏览器中请求第一个first.jsp

    输入用户名和密码

    点击确定后,该jsp页面请求的对象为action1.action 流程就会转到struts.xml中映射到action1真正对应的Action1这个类

    然后在Action1类中自动调用setUsername(String username) 和setPassword(String password)方法

    并将结果放到request作用域范围内,最后程序自动调用(自动调用是通过动态代理实现,改天单独介绍....)Action1类中public String execute()返回SUCCESS 方法然后再进入到struts.xml中的这句<result name="success">/success.jsp</result>流程转换到success.jsp页面。ok!!!

    以上内容存在很多细节问题,sturts的其它用法(如校验等等)请见下回分析....

  • 相关阅读:
    C#正则表达式判断输入日期格式是否正确
    Linq 总结
    sql存储过程
    uploadify多文件上传实例--C#
    Get W3WP List when Debugging
    SharePoint 2010 BI:Chart Web Part
    Versioning SharePoint 2010 Workflow In VS
    Multilingual User Interface (MUI) In SharePoint 2013
    Create Custom Modification Form In VS 2012-Part1
    Create Custom Modification Form In VS 2012-Part2
  • 原文地址:https://www.cnblogs.com/WooZz/p/2580054.html
Copyright © 2011-2022 走看看