zoukankan      html  css  js  c++  java
  • 那些年构建SSH所遇到的坑

        SSH框架有非常多的优点,在这里我不再赘述,我们经常会去构建这种框架的项目,但是在构建SSH时候经常会遇到一些问题,例如常见的网页上的所报的错误404,500等,404错误一般比较好排查,没有找到该页面等,或许是路径问题,或许是网页等不存在。

        今天在这里主要来谈谈,构建SSH所常遇见的错误,以及分析方法,和解决之道。

        看这篇文章的前提是我们导入的jar包都是没用问题的,只是会出现一些配置或者为注意到的一些修改问题,产生的错误,接下来我们进入正题。

        一、数据库问题:

        com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@26499193 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:

    java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)

    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910)

    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923)

    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273)

    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)

    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)

    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)

    at sun.reflect.GeneratedConstructorAccessor16.newInstance(Unknown Source)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)

     

        一般这种错误都是由于数据库导致的,这些错误大同小异,但是都会报出SQL类的异常,但是需要注意一点,有时候也会报出hibernate异常,所以针对这种错误我们应该找到项目中的数据库配置文件。修改成正确的数据库地址,用户名以及密码(在此之前我们也应该确认数据库的服务是开启的)。

        二、Spring的路径配置问题

        部署好项目之后,访问页面报404错误,如图:

     

        查看控制台信息:

        Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/classes/orgx/ext/config/spring-baseConfig.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/classes/orgx/ext/config/spring-baseConfig.xml]

    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)

    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)

    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)

    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)

    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)

    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)

    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)

    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)

    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:522)

    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436)

    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385)

    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)

    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)

    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5003)

    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5517)

    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)

    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)

    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)

    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1263)

    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1978)

    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

    at java.util.concurrent.FutureTask.run(FutureTask.java:262)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

    at java.lang.Thread.run(Thread.java:745)

     

        报出的错误可以看出是spring的配置有问题,接下来,进行修改,打开web.xml文件,修改其中关于Spring的配置。写出加载Spring的正确路径

        三、Spring的内部配置

        如图所示,当Spring内部的的标签:

        <context:component-scan base-package="hx*"></context:component-scan>

         就是出现如下错误:

     

        修改这个错误的前提是保证Struts以及Action都是没用问题的。在自己的扫描中配置中正确的路径即可。

        四、其他错误

        其他引起的错误大多数为struts所引起,这类错误需要将自己的路径以及Action的跳转相一致即可。

  • 相关阅读:
    批量执行工具PSSH详解
    详解IPTABLES
    nginx启动脚本
    ansible离线安装
    Linux性能评估工具
    Python中路径操作
    mongodb Enable Auth
    MySQL配置参数说明
    redis未授权访问
    php反序列化笔记
  • 原文地址:https://www.cnblogs.com/DonaHero/p/5841944.html
Copyright © 2011-2022 走看看