zoukankan      html  css  js  c++  java
  • 一个Struts2的实例

      对Web应用程序而言,需要跨越HTTP协议的两个障碍——无状态和基于文本。

      在没有使用struts的时候,你会有一个很真切的体会,就是如何把html页面上的数据提交给后台处理,以什么格式提交?

    这是个值得思索的问题。当然要是用Servlet就可以解决。但是在Servlet中要处理request中的各种参数。这些参数是String格式

    要将这些String格式的数据转换成java中的类型。这是个枯燥且庞大的工程。

        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            doPost(request, response);
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            String userString=request.getParameter("username");
            String password=request.getParameter("password");
             PrintWriter out = response.getWriter();
             out.println(userString);
        }

    而使用了struts控件,就可以自动的获取前台html中的数据。并且可以自动的存储到javabean中。想想这是多么令人愉快的事情啊!

      就Struts的配置来说还是非常简单的。首先在WebContent/WEB-INF/lib中导入必须的包

    如图:

    其次在web.xml中配置FilterDispatcher

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_9" 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"> <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>login.jsp</welcome-file> </welcome-file-list> </web-app>

    然后配置struts.xml文件(struts.xml必须小写,而且必须放到src目录下)

    <?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="default" extends="struts-default">  
            <action name="LoginAction" class="action.LoginAction">  
                <result name="success">/success.jsp</result>  
            </action>  
        </package>  
    </struts>

    之后就是写action了。

    package action;
    
    public class LoginAction {
        private String username;  // 表单的请求参数被放入到动作(action)中名字匹配的属性上。(只要名字匹配,框架自动完成)
        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(){
            // 业务逻辑处理
            return "success";  //返回控制字符串,已选择应该被呈现的结果页面。从struts.xml可以看出返回到success.html页面。
        }
    
    }
  • 相关阅读:
    常见的消息队列中间件介绍
    关系型数据库和非关系型数据库区别、oracle与mysql的区别
    SQL Server 和 Oracle 以及 MySQL 数据库
    Redis,Memcache,MongoDb的特点与区别
    详解布隆过滤器的原理,使用场景和注意事项
    Redis缓存穿透、缓存击穿以及缓存雪崩
    RPC、HTTP、RESTful
    集群,分布式,微服务概念和区别理解
    电脑双屏变单屏后,界面显示问题
    JDK 15已发布,你所要知道的都在这里!
  • 原文地址:https://www.cnblogs.com/heyesp/p/4424113.html
Copyright © 2011-2022 走看看