czmchen

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  17 随笔 :: 0 文章 :: 24 评论 :: 0 Trackbacks

#

我对异常抛出的情况作啦一个总结,下面的是我在做项目的时候,处理抛出来的经典异常。

严重: action: null
java.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugIn
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
        at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:124)
        at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:172)
        at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:147)
        at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:842)
        at org.apache.struts.action.ActionServlet.init(ActionServlet.java:359)
        at javax.servlet.GenericServlet.init(GenericServlet.java:212)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:511)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1231)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1471)
        at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:824)
        at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:350)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
2009-6-13 19:47:25 org.apache.catalina.core.ApplicationContext log


这个异常我看不少人都遇到吧,看着这个异常,你觉得是不是很郁闷,刚开始看到这个action: null就想:“是Struts里出啦问题,肯定是参数不对应ActionForm造成的吧!”然后就拼命地在页面和ActionForm来作对照,对来对去都是一样啊!怎么还是有错呢?刚刚开始我也是这样想的,可是做啦一大堆的无用功后,就发现我这种想法是错的!每次部署后还是这个错,你再细心地看下面的那个错误“java.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugIn”,这个org.springframework.web.struts.ContextLoaderPlugIn这个东西是不是很熟悉呢?仔细找下看,发现你的Struts-config.xml里面是不是也有这样一段话:
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
        <set-property property="contextConfigLocation"
   value="/WEB-INF/applicationContext.xml"/>
    </plug-in>
问题就出在这里啦!不过有些人找到问题所在后,也不会认为这里有问题,就算这里有问题,最多就是Spring的配置文件不对应!然后就去修改一下配置文件,可是还是于是无补!

我经过一段时间的思考后,就想啦一下,这个既然是Spring的配置文件,那一定和它的插件有关,是不是Spring和Struts整合不好呢?然后就查了一下库文件,发现Spring库文件导入的是很少!上网查下资料,发现对于这个问题的很少有答案,有人提出的可是找不到问题所在!我就去啦Spring的官网下载它的库文件和一些相应的资料来,在找资料的过程中,我也下载啦一个叫spring-struts.jar的库文件,这个文件看起来好象是Spring整合Struts的库文件!有啦这几个东西,我就开始开工测试
我就先按我的猜想,先导入spring-struts.jar这文件,部署后,发现没错误,运行也没错!果然证实我的想法没错
然后我还把下载来的Spring官网的最新的库文件,发现找不到spring-struts.jar这个库文件。然后我一个个测试后,原来这个库文件是集成在spring-web.jar里面啦!
我把spring-struts.jar去掉后,导入Spring官方的最新的相关库文件后(不能全部导,全部导入也会有错误,用到的才能导!),程序也没发生任何错误

以下的是我用到的库文件,本人测试过没问题
http://www.blogjava.net/Files/czmchen/ssh中Spring的库文件.rar
http://www.blogjava.net/Files/czmchen/spring-struts.jar.zip
posted @ 2009-06-13 20:20 陈周敏 阅读(1538) | 评论 (6)编辑 收藏

本人就建立啦一个群,群号:18777357,欢迎在J2EE这一块上发展和学习的加入
posted @ 2009-06-12 19:06 陈周敏 阅读(155) | 评论 (0)编辑 收藏

最近我在做上传下载,发现我的文件下载死活下载不了,看啦很久代码。没错,代码我敢肯定没写错,再尝试下载其他的文件看看,我就上传一个文件没带中文的,一上上去,一点下载,居然讯雷可以下载啦。郁闷啦很久,原来是在这里,问题找到啦,肯定是不支持中文。翻回去看代码那里没加上编码?再重新看啦一次代码,还是发现不了,想啦一下,下载通过URL访问,经过Tomcat提交,问题可能在Tomcat这。

然后我就查啦一下网上的让Tomcat支持中文的方法,我也找出问题所在。在TOMCAT那加一句话就行

打开Tomcat目录的conf\server.xml文件,用记事本或其他工具编辑,
找到<Connector connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443"/>
注意:我的TOMCAT版本是6.0的!
然后在它后面加上一句URIEncoding='UTF-8'
也就是变为
<Connector connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443" URIEncoding='UTF-8'/>
这样就可以让TOMCAT支持中文的传递!

改好后,重起TOMCAT服务器,点下载,果然讯雷“噔”的一声响,下载成功。

可能一些初学者看到本文,就以后做项目都在URL那传递中文,这样可以解决重定向乱码问题。不过本人不支持这样的做法,毕竟在URL都不好传递中文,因为这是不标准的写法。下载或其他系统要用到中文传递获取文件才可以用这笨方法
posted @ 2009-06-10 15:08 陈周敏 阅读(2503) | 评论 (4)编辑 收藏

开发中用UTF-8开发就是标准的开发编码,跨平台下开发,你就发现你的程序乱码问题基本没有,这就少给你带来麻烦。
建立数据库也不例外,我开发都习惯用编码utf8来开发(注意:在数据库中UTF-8就写为utf8)

建立数据库开发编码为utf8就几个地方而已

1。建立容器
2。连接

注意:有些人话你做啦这些工,还有一个地方要设置编码,建立数据库表时候还没设置编码呢?我在这说下,建立容器就不用做那啦,因为你容器编码是utf8啦,表也是utf8,所以我就无做那个工啦!不过你想知道的话,我也提供方法,下面的就是表的编码就是utf8的
CREATE TABLE IF NOT EXISTS test(
    test_id int auto_increment,
    test_name varchar(50)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;


步骤:
1。好啦,先来建立容器

create database if not exists test default character set utf8;

2。连接设置编码为utf-8
在连接的时候加上
dao.drivername=com.mysql.jdbc.Driver
dao.url=jdbc:mysql://localhost:3306/asking?useUnicode=true&characterEncoding=UTF-8
dao.username=
dao.passwd=

posted @ 2009-06-10 14:47 陈周敏 阅读(6523) | 评论 (2)编辑 收藏

做为一个开发程序员,在数据库方面最重要的就是数据库的数据啦,那么在开发过程中就要对数据进行备份,以防止丢失。
我就这样做的~把MySQL 数据库目录放到其他的盘去,不放在默认的盘。

我安装的数据库是Mysql5.1,安装目录可能和其他的版本不同。

首先

1 .打开 cmd 命令提示符窗口,输入命令:net stop mysql 停止 MySQL 服务运行;

2. 打开C:\Program Files\MySQL\MySQL Server 5.1\my.ini

找到:

Datadir = "C:\Documents and Settings\All Users\Application Data\MySQL\data"

修改为:

Datadir = "X:\MySQL\data" 这个是你自己想放的数据库位置

3. 将 C:\Documents and Settings\All Users\Application Data\MySQL\data 文件夹复制到 X:\

4. 打开 cmd 命令提示符窗口,输入命令:net start MySQL 启动 MySQL 服务。

5.重新测试 MySQL 是否工作正常。

posted @ 2009-06-10 14:31 陈周敏 阅读(1086) | 评论 (0)编辑 收藏

不知道大家在编程的时候,你鼠标一放到代码上面,那MyEclipse就显示一个黄色的提示,
而且MyEclipse编辑区的ToolTip显示太快了,太让我感到烦恼啦!我想取消这个ToolTip.

这个就只能在JAVA类文件里面有效!点击windows-->preference-->java-->Editor-->Hovers
找到Combined Hover,钩去掉就OK。

在XML那还没搞定!不知道有没有高手研究到连XML配置文件都可以去掉这个ToolTip提示的?

posted @ 2009-06-10 14:20 陈周敏 阅读(1297) | 评论 (0)编辑 收藏

仅列出标题
共2页: 上一页 1 2