zoukankan      html  css  js  c++  java
  • struts2+maven+idea实现 超详解

    一、起源

        1、挺多公司老项目会使用到ssh整合框架使用,所以逐个去学习,学习struts2的时候  

      发现网上的教程多是eclipse的普通Java项目,没有目前比较火的idea,以及比较少maven的教程

      总得来说,就是符合我目前使用结构风格的教程没有,多是一些老古董般的教程

        

    二、学习

        1、新建一个maven项目,按照正常操作,创建一个我们熟悉的maven项目

          

        2、现在所得的maven项目是一个控制台项目,把普通的maven控制台项目变成一个web版的maven项目

         2.1、然后将会得到一下的目录结构,跟网上老的struts的教程会有点不一样,这一点也是很重要的,不一样导致学习的时候就会比较难以下手

     

    特别谨记,不能从下面加web,不然创建的web会无效

         3、添加架构所需依赖

    <dependencies>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>5.3.4</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.5</version>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core -->
            <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-core</artifactId>
                <version>2.5.26</version>
            </dependency>
    
            <!-- convention-plugin插件,使用了这个插件之后,就可以采用注解的方式配置Action -->
            <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-convention-plugin</artifactId>
                <version>2.5.10.1</version>
            </dependency>
            <!--config-browser-plugin插件,使用了这个插件之后,就可以很方便的浏览项目中的所有action及其与 jsp view的映射-->
            <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-config-browser-plugin</artifactId>
                <version>2.5.10.1</version>
            </dependency>
    
        </dependencies>

    最重要的一点来了,变成web项目需要在pom.xml 上配置没

    有这个,是不可能会成功的,会一直404,找不到你的web

    <build>
            <plugins>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.0</version>
                    <configuration>
                        <warSourceDirectory>web</warSourceDirectory>
                    </configuration>
                </plugin>
            </plugins>
        </build>

    还要谨记一点的就是设置生成war包

      <packaging>war</packaging>

        

        4、接下来就是web.xml里面的配置(这里和ssm不一样的就是这里的不需要配置框架xml的位置,通过过滤器,框架会自动处理struts2.xml的xml)

       <--一系列连接默认跳转地址,如果没有,则会持续寻找以下地址-->
     <display-name>StrutsDemo02</display-name>
        <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.htm</welcome-file>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>default.html</welcome-file>
            <welcome-file>default.htm</welcome-file>
            <welcome-file>default.jsp</welcome-file>
        </welcome-file-list>
    
    <--过滤器配置-->
        <filter>
            <filter-name>struts</filter-name>
            <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>struts</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>

        5、配置struts.xml

      <--包 namespace设置包用斜杠替换,不然访问连接的时候就要直接加上包的name-->
        <package name="helloaction" extends="struts-default" namespace="/">
            <action name="hello" class="com.gz.controller.HelloAction">
                <result name="ok">/hello.jsp</result>
            </action>
        </package>    

        6、测试代码类 上面配置的 com.gz.controller.HelloAction,就新建一个HelloAction类,在路径包里面(返回的OK对应上面配置的result的name,会跳转配置的jsp)

    jsp页面可以根据下面截图的结构,写一个返回的jsp和一个主页jsp其中主页jsp可以随意写web.xml配置了的名称

     

        7、最后测试,手动生成war包,运行,记得要用手动生成的,他会自动生成一个war包是没有用的,在这踩坑挺久

     一个手动一个自动生成的

     然后正常Tomcat选择war包,就完成了一个struts2入门的学习,后续进阶,就根据这个思路去学习就可以了

    成功的把一些,老古董类的东西,转成了现在比较流行的写法

    这就是在pom.xml 里面没有build的结果,无论怎么写,都找不到你的web  

    正确结果

    主页index.jsp

    访问hello类的返回hello.jsp 

    一系列配置不知道什么意思的可以自行搜索,网上新写法

    没有,但是配置解析还是有很多的,那些解析比我的理解要透彻

    毕竟,我现在只是一个刚上车struts2框架的小白

     

      

  • 相关阅读:
    hive实战记录
    并发
    软件安装
    idea
    maven
    thingkinginjava
    JVM
    并发模块concurrent
    ffmpeg_分割一个mp4文件到多个小的mp4文件
    用 ffmpeg 压缩视频
  • 原文地址:https://www.cnblogs.com/gz007/p/14731969.html
Copyright © 2011-2022 走看看