zoukankan      html  css  js  c++  java
  • struts2升级到2.5的配置

    之前的struts版本太低,后来用想过换个后台,但是改动太大,还是升级到最新版本的struts吧,虽然有点蛋疼的经历,最终还是解决了。下面来分享一下我的经历!!!

    1.下载struts2   2.5.12版本的jar包

    2.首先是替换核心jar包了,下面是我所选jar包,如果原来项目是log4j.jar要保留,把log4j-api-2.8.2.jar也是要拷贝进去(我原本删除项目里的log4j.jar项目报错,tomcat启动不了)

    3.删除原工程“xwork-core-2.3.20.jar”

    4.修改web.xml,把“<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>”修改成“<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>”

    原因是:看图

    发现没?新版本的filter包前面没有ng包

    5.首先我先在自己做的demo项目里升级的很顺利,我的demo项目本来就是struts2  2.3.30的,配置文件也少,升级起来很容易。有关struts.xml的配置文件修改部分。

    a.头部改为<!DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
            "http://struts.apache.org/dtds/struts-2.5.dtd">

    b.由于新版本的Struts默认不能修改action的访问后缀,不能使用通配的方式调用action里的方法,所以添加

    <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
    <constant name="struts.enable.SlashesInActionNames" value="true"/>

    使得<constant name="struts.action.extension" value="do" />可以生效

    c.<package name="mypackage" namespace="/" extends="struts-default" strict-method-invocation="false"> 注意这里添加了strict-method-invocation="false"

    6.修改jsp的struts标签,新版本里有两处明显区别。有关jsp页面修改部分

    a.类似 <s:bean name="com.whb.common.DictItem" id="dictItem" /> 要修改成 <s:bean name="com.whb.common.DictItem" var="dictItem" />

    b.类似<s:property value="result" escape="false"/>  要修改成 <s:property value="result" escapeHtml="false"/>

    7.我的demo项目就这样很容易的就升级成功了,很是开心,然后就去升级公司项目了,接下来蛋疼的事就来了,先是说hibernate创建sessionFactory出错,原因是用了ams.jar出错,

    8.  java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V,让我很是费劲了一番,后来,我就拼命的google和百度,结果还是不行,费了我一个下午和一个早上的时间,最后还是不行,我彻底的服了。最后找到了解决的办法:

    出现<init>(Z)V将
    将cglib.jar 由2.1版本 改为 2.2
    出现<init>(I)V将
    将cglib.jar 由2.2版本 改为 2.1

    cglib.jar 下载地址    http://www.java2s.com/Code/Jar/c/Downloadcglib220jar.htm   点击下面圈起来的就下载了

    9.友情提示:

    顺便提一下,页面提交表单的时候不要用struts自带的<s:form>和<s:form>的namespace属性,最好也别用$("#").submit()提交,我经历过action无论返回success还是其它的,页面就是不不变,也不是404和500,页面就是不动。我的做法舍弃用<s:form>,直接用普通的<form></form>表单多好。

    ② 这是我后来遇到的struts2 2.5的版本与kingEditor不兼容的问题,导致kingEditor不能上传本地图片。我的做法把kingEditor换成了ueditor。就ok了。

    10.还有人 碰到动态Action问题,反正我用上面的方法都可以解决的,如果你的动态Action不能解决,给你分享两个链接

    http://blog.csdn.net/qq_24059599/article/details/51986761

    http://blog.csdn.net/cairo123/article/details/65629216

    好了这个升级终于告一段落了,这种东西升级太快,哎,又是令人操蛋的担心!!!!

  • 相关阅读:
    Discovery Scanning
    Openvas
    Common Vulnerability Scoring System CVSS
    NIagara Workbench ( 温度控制)
    Nikto and whatweb
    Jace Config
    Active information gathering-services enumeration
    Intsall The Nessus in you kali linux
    Source Code Review
    Niagara workbench (Basic )
  • 原文地址:https://www.cnblogs.com/smilehq/p/7220126.html
Copyright © 2011-2022 走看看