• 【Struts2框架】idea快速搭建struts2框架


    什么是SSH框架?

    SSH是 struts+spring+hibernate 的一个集成框架,是16年之前较为流行的一种Web应用程序开源框架。区别于 Secure Shell 。

    集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。

    Struts2框架

    初代Struts1已经分化成了两个框架:第一个是在传统的Struts1的基础上,融合了另外的一个优秀的Web框架WebWork的Struts2。Struts 2虽然是在Struts1的基础上发展起来的,但是实质上是以WebWork为核心的。Struts2为传统的Struts1注入了WebWork的先进的设计理念,统一了Struts1和WebWork两个框架。

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

    1、struts2的环境搭建

    在这里插入图片描述

    1.1 创建web项目(maven),导入struts2核心jar包
    
    <dependency>
      <groupId>org.apache.strutsgroupId>
      <artifactId>struts2-coreartifactId>
      <version>2.3.33version>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1.2 配置web.xml(过滤器),是struts2的入口,先进入
    • 拦截器作用域小于过滤器 :拦截器只拦截action,拦截器是Struts2的核心功能;拦截器是在struts.xml配置文件中进行配置的,自定义拦截器后,要将Struts2默认拦截器在struts.xml中重新配置。
    • 过滤器属于Servlet,配置在web.xml中,过滤器可以作用于一切页面,控制器等等元素。
    • 实际上都可以叫 拦截器或者过滤器 ,只不过一个拦截web请求,一个拦截Action方法(拦截器拦截前Action已经实例化了!!!)调用。
    DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Applicationdisplay-name>
    
      
      <filter>
        <filter-name>struts2filter-name>  
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterfilter-class>
      filter>
      <filter-mapping>
        <filter-name>struts2filter-name>
        <url-pattern>/*url-pattern>  
      filter-mapping>
    
      
      <welcome-file-list>
        <welcome-file>index.jspwelcome-file>
      welcome-file-list>
    
    web-app>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    1.3 创建核心配置文件struts.xml

    注意:核心配置文件只能叫struts.xml,与web.xml中定义的过滤器struts2相对应

    【File-->Settings--->Plugins--->搜索struts2下载插件,才能创建有关struts2的配置】
    在这里插入图片描述

    两种方式:
    1. 右键目录resources—>new—>XML Configuration File—>Struts Config,命名为struts,生成struts.xml文件
    在这里插入图片描述
    2. 直接创建xml文件,命名为struts,生成struts.xml文件,复制struts2的头部命名空间

    
    
    DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
            "http://struts.apache.org/dtds/struts-2.3.dtd">
    <struts>
    	
    struts>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    2、创建项目
    ▶创建HelloAction.java:

    在java目录下创建action包(com.wxy.action这是我的包路径,你们随意),创建一个HelloAction类实现Action接口,此接口中有一些常用的响应。

    • 看一下Action接口内部的一些参数:在这里插入图片描述
      HelloAction.java类
    public class ActionTest implements Action {
    	//execute()专门处理请求的方法
        public String execute() throws Exception {
            System.out.println("hello struts2~~~struts构建完成");
            return SUCCESS;  //返回的结果可以是:Action接口内部常量
            //return "OK";   //返回的结果也可以是自定义的字符串
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    ▶配置web.xml文件
    
    
    <package name="default" extends="struts-default">
    	
    	<action name="hello" class="com.wxy.action.HelloAction">
    		
    		<result name="success">hello.jspresult>
    		
    	action>
    package>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    这里报红,是没有影响的:
    在这里插入图片描述

    ▶创建一个hello.jsp页面
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Hellotitle>
    head>
    <body>
    	<h2>struts2h2>
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    ▶测试

    启动Tomcat,当控制台输出了HelloAction类中的方法,hello输出了页面内容,即一个简单struts2算是搭建完成。

    访问路径:http://localhost:8080/hello
    在这里插入图片描述
    在这里插入图片描述

    ▶总结:

    1、导入核心jar包
    2、在web.xml中配置入口
    3、写请求处理HelloAction类,execute()专门处理请求的方法,返回字符串
    4、在struts.xml中配置返回页面,配置在< package >标签中:

    • 标签的name属性代表路径;class属性代表执行的请求
    • 标签的 name属性表示返回的字符串,与请求类返回一致;标签内是返回页面。
  • 相关阅读:
    五种多目标优化算法(MOJS、MOGWO、NSWOA、MOPSO、NSGA2)性能对比(提供MATLAB代码)
    疯狂星期四,但是程序员
    SpringBoot-19-模块开发-员工修改/删除
    Kamiya丨Kamiya艾美捷人α1-抗糜蛋白酶ELISA说明书
    IDEA 2022.2.1 Beta 2发布:新增支持Java 18、增强JUnit 5的支持
    Pytorch中 nn.Transformer的使用详解与Transformer的黑盒讲解
    git版本回退在eclipse和命令中的操作
    Spring5 框架学习笔记
    如何解决PHP base64编码后解码乱码的问题
    UML(类图进阶和对象图)
  • 原文地址:https://blog.csdn.net/m0_70083523/article/details/127899288