• IntelliJ IDEA搭建Structs 2框架步骤简介


    最近在学JavaEE,开始搭建Struts 2框架,用的IDE是IntelliJ IDEA,以下为主要步骤:

    一、新建工程项目:

    ①Create New Project => 选择Java Enterprise => Struts 2(2.5.13) => Download => Next:

    ②为项目命名=>Finished:

    二、配置tomcat:

    点击Deployment,在Application context中填入自定义访问路径名,点击OK/Apply:

    三、配置工程项目:

    进入Project Structure,点击Artifacts,双击Struts2-2.5.13将其添加至WEB-INF下的lib文件夹中,点击OK:

     四、配置web.xml文件:

    当配置web.xml文件时,发现其中filter-class中的类路径找不到,在观察之后发现该路径中ng多于,去掉即可:

     五、配置structs.xml:

    实现一个简单的HelloWorld功能:

     在配置完以上环境之后点击运行,但是发现报出了一大堆错误:

     观察出错原因,引起报错的原因是Caused by: java.lang.NoClassDefFoundError: Lorg/apache/logging/log4j/Logger; 以及Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.Logger;

    说明IDEA自动下载的Struts 2的jar包不全,因此去官网(http://struts.apache.org/download.cgi)上下载精简版Struts 2的jar包,下载完成后重新对工程环境进行配置:

    ①删去IDEA下载的包:

    ②添加下载的包到工程的lib文件夹中(注意要将下载的jar文件放在struts-2.5.13-min-lib路径下,而非struts-2.5.13-min-libstruts-2.5.13lib路径下)选择Jar Directory:

    在配置完以上环境后,重启服务器,仍然报错:

    Caused by: Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean

    Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name struts has already been loaded by bean

    在查阅了一些资料后,分析可知,应该是两个相同的jar包发生冲突,观察out文件夹下的WEB-INF中的lib文件夹,发现果然存在重复的JAR包:

    删除多余的JAR包后再次运行tomcat,运行成功:

    框架搭建完成,撒花~~

  • 相关阅读:
    Thymeleaf模板引擎绕过浏览器缓存加载静态资源js,css文件
    LCMapString/LCMapStringEx实现简体字、繁体字的转换。
    java8 LocalDateTime转unix时间戳(带毫秒,不带毫秒)
    关于全角半角
    c++builder 读写文件类
    Unresolved external 'AlphaBlend' referenced from
    GridhEH 选择勾CheckBox
    Variant
    TRegEx 正则表达式
    c++ 字符检测 TCharacter
  • 原文地址:https://www.cnblogs.com/Revenent-Blog/p/7623015.html
Copyright © 2020-2023  润新知