zoukankan      html  css  js  c++  java
  • 1.Struts2简介和Struts2开发环境搭建

    一、Struts2简介:

    1.什么是Struts2?

    著名的SSH三大框架分别为:表现层(Struts)、业务逻辑层(Spring),持久化层(Hibernate).

        Struts2是在WebWork2基础上发展而来的MVC框架,尽管Struts2与Struts在名字上很像,但代码编写风格上几乎是完全不一样的。

        Struts2比Struts更优秀,修复了Struts的许多Bug和缺点。

    2.Struct2框架的优点?

       1.Struts2是非侵入式设计

             Struts2的Action类为POJO类,即不依赖于Servlet API和Struts API。

       2.Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。

       3.Struts2提供了类型转换器,可以将特殊的请求参数转换成需要的类型。

       4.Struts2支持多种表现层技术,如JSP、freeMarker、vectocity等。

       5.Struts2的输入验证可以对指定的方法进行验证。

       6.提供了全局范围、包范围和Action范围的国际化资源文件管理实现。

     二、搭建Struts2开发环境

    1.新建一个Web Project工程。

    2.导入所需要用到的Structs2的jar包,这里暂时先只导入Structs核心jar包。

    Structs2所有jar包下载地址http://struts.apache.org/download.cgi#struts23163

    核心jar包:

    xwork-core-2.1.6.jar: Structs2框架的核心类库
    struts2-core-2.1.8.1.jar: XWork类库,Structs2在其上构建
    ognl-2.7.3.jar:对象图导航语言(Object Graph Navigation Language),Structs2框架通过其读写对象属性。
    freemarker-2.3.15.jar:   Structs2的UI标签的模板使用FreeMarker编写
    commons-logging-1.0.4.jar: ASF出品的日志包,Structs2框架使用这个日志包来支持Log4J和JDK1.4+的日志记录。
    commons-fileupload-1.2.1.jar: 文件上传组件,2.1.6版本后必须加入此文件。

    方法一:

     

    方法二:

     

     


     3.复制Structs2.xml文件到项目的src目录下。

    Structs2.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>
    
    </struts>

    4.在Struct中,Structs2框架式通过Servlet启动的。而在Structs2中,Structs2框架式通过Filter启动的。

    Structs2在web.xml中的启动配置如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
        
            <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>

    <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

    注意:自动Structs2.1.3以后,下面的FilterDispatcher已经标注为过时

    <filter-class>org.apache.structs2.dispatcher.FilterDispatcher</fileter-class>

    5.测试Structs2是否搭建成功,发布程序项目,开启tomcat服务。

  • 相关阅读:
    leetcode 13. Roman to Integer
    python 判断是否为有效域名
    leetcode 169. Majority Element
    leetcode 733. Flood Fill
    最大信息系数——检测变量之间非线性相关性
    leetcode 453. Minimum Moves to Equal Array Elements
    leetcode 492. Construct the Rectangle
    leetcode 598. Range Addition II
    leetcode 349. Intersection of Two Arrays
    leetcode 171. Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/xingyunblog/p/4006150.html
Copyright © 2011-2022 走看看