• JAVA框架Struts2


    一、介绍:

    Strust2是一个基于MVC设计模式的web应用框架,他的本质上相当于一个servlet,在MVC设计模式中,Strust2作为控制器(controller)来建立模型与视图的数据交互。

    属于WEB层的。

    web层框架特点:

    1、都是一个特点,前端控制器模式。

    2、记住:前端控制器(核心控制器)。

    3、Struts2框架前端控制器就是过滤器(filter)。

    二、入门

    下载:

    https://struts.apache.org/download.cgi#struts2516

    包结构:

    其中apps结构:

    拷贝这个jar重命名为.zip ,war文件和zip文件格式是一致的。

    里面有Struts2的最少jar包引用。

    拷贝里面的jar包。

    过滤器的注册:

    需要注册的filter:

    1     <filter>
    2         <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
    3         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    4     </filter>
    5     <filter-mapping>
    6         <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
    7         <url-pattern>/*</url-pattern>
    8     </filter-mapping>

    需要注意的:Struts2url后缀一般带有action的结尾的。表示使用的是Struts2.

    配置文件配置:.

    拷贝Struts2的配置文件,需要放在src下面。在之前的空白内的WEB-INF下面。有相应的配置,去掉其他配置只留package标签。

    添加如下内容:

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE struts PUBLIC
     3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
     4     "http://struts.apache.org/dtds/struts-2.3.dtd">
     5 
     6 <struts>
     7     
     8     <package name="" namespace="/" extends="struts-default">
     9         <action name="hello" class="jd.com.action.SayHello" method="helloSttust"/>
    10 
    11 
    12 
    13     </package>
    14 </struts>

     

    一代表:你跳转的url的名称,开头不需要带/

    二代表:action类(Action类是动作类,是Struts2处理请求,封装数据,响应页面的核心控制器。需要自己编写),也就说,请求进行之后,调用那个类。

    三代表:调用action类中那个方法。

    Action类,方法签名要求:

    1、方法必须是public修饰。

    2、方法返回必须是String。

    3、方法名字可以是任意,但是不能有参数列表。

     简单action类:

     1 package jd.com.action;
     2 
     3 public class SayHello {
     4     /**
     5      * Action类的方法签名有要求:
     6      * 1:方法必须是public。
     7      * 2:方法返回值必须是String字符串。
     8      *3:方法名字是任意但是不能有列表参数。
     9      */
    10     public String  helloSttust(){
    11         System.out.println("SayHello!");
    12         return null;
    13     }
    14 }

    在Struts2中,都是由action类来处理用户请求。

  • 相关阅读:
    每日一道 LeetCode (11):外观数列
    每日一道 LeetCode (10):搜索插入位置
    每日一道 LeetCode (9):实现 strStr()
    每日一道 LeetCode (8):删除排序数组中的重复项和移除元素
    每日一道 LeetCode (7):合并两个有序链表
    每日一道 LeetCode (6):有效的括号
    Python 图像处理 OpenCV (16):图像直方图
    每日一道 LeetCode (5):最长公共前缀
    每日一道 LeetCode (4):罗马数字转整数
    每日一道 LeetCode (3):回文数
  • 原文地址:https://www.cnblogs.com/evilliu/p/8776814.html
Copyright © 2020-2023  润新知