• 整合Spring+Hibernate+Struts2时遇到的WEBINF/lib/struts2core2.1.8.1jar!/strutsdefault.xml:48:178错误


      今天在整合Spring+Hibernate+Struts2是遇到了个问题,前提是Spring+Hibernate已经配置好了,剩下的是整合Spring和Struts2,当自己感觉配置的没什么问题时,把项目部署到了tomcat上面,然后运行。。运行时报出了错误

    WEB-INF/lib/struts2-core-2.1.8.1jar!/struts-default.xml:48:178

    当时感到很诧异,struts2-core-2.1.81.jar能是什么错误,以前jar包错误无非就是i两种:缺少jar包和jar包冲突,而缺少jar包时往往提示的是找不到类,jar包冲突时也是会提示jar包错误,但也不是同时提示jar包和xml文件同时出错,带着这个问题我找到了struts2-core-2.1.8.1.jar包底下的struts-default.xml文件,也找到了对应的48行,

    <bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" name="struts" class="org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest" scope="default"/>

    这几行代码的作用是指定类到配置文件中,我又按照这个路径找到了对应的类代码如下:

    package org.apache.struts2.dispatcher.multipart;

    import com.opensymphony.xwork2.inject.Inject;
    import com.opensymphony.xwork2.util.logging.Logger;
    import com.opensymphony.xwork2.util.logging.LoggerFactory;
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.FileUploadException;
    import org.apache.commons.fileupload.RequestContext;
    import org.apache.commons.fileupload.disk.DiskFileItem;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    import org.apache.struts2.StrutsConstants;

    import javax.servlet.http.HttpServletRequest;
    import java.io.File;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.UnsupportedEncodingException;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Enumeration;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    /**
    * Multipart form data request adapter for Jakarta Commons Fileupload package.
    */
    public class JakartaMultiPartRequest implements MultiPartRequest {
       
        static final Logger LOG = LoggerFactory.getLogger(MultiPartRequest.class);

    。。。舍略。。

    看到这几行代码我考虑到了是不是缺少jar包呀,因为我也是刚开始学ssh整合的,也是按照教程来的,有很多东西写完后不和教程上写的一样,所以我又检查了一下jar包,和这导入的jar包对应了一下,发现到底是缺少了几个jar包,缺少了好几个并且,像commonfileupload.jar,commons-io.jar 等都没导入,而且还发现有几个jar包重复了,如Struts-core-2.1.2.jar还有struts-core-2.2.5等等,所以我又把jar包重新梳理了一下,运行后发现这个问题被解决了。。

         所以,大家以后也整合项目的时候,一定要注意jar包的导入,还有解决问题的方法,不要急,一步步按照错误所说的方法来解决,相信大家一定会慢慢解决的。

  • 相关阅读:
    win10 访问共享缺少 SMB1协议
    H3C 设置用户和密码
    vim 注释和删除多行
    工商银行贵金属网址
    Team Foundation Server 2008 安装 全程记录
    临时表和表变量 区别
    Windows Server 2003开机自动登录
    索引工作原理
    WebService是什么
    CodeFirst
  • 原文地址:https://www.cnblogs.com/shunxiyuan/p/2166155.html
Copyright © 2020-2023  润新知