读书人

小弟我一使用进入DWR后台的时候就报NU

发布时间: 2012-12-16 12:02:32 作者: rapoo

我一使用进入DWR后台的时候就报NULL 求高手指教


HTTP Status 500 -

--------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.NumberFormatException: null
org.directwebremoting.servlet.DwrServlet.init(DwrServlet.java:77)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:619)


root cause

java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:415)
java.lang.Integer.parseInt(Integer.java:497)
org.directwebremoting.util.VersionUtil.loadProperties(VersionUtil.java:119)
org.directwebremoting.util.VersionUtil.getLabel(VersionUtil.java:99)
org.directwebremoting.impl.StartupUtil.logStartup(StartupUtil.java:157)
org.directwebremoting.servlet.DwrServlet.init(DwrServlet.java:62)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:619)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.


--------------------------------------------

Apache Tomcat/6.0.24
[最优解释]
发NumberFormatException异常:主要原因是将用户提交的内容转换为整数或者浮点数时用户输入了其它非法字符。处理的主要方式是在需要进行转换的地方使用try/catch块捕获此异常然后提示用户输入合法数据。
最好把代码贴出来
[其他解释]
既然用了ssh+dwr,就可以集成开发,全用注解注入,删除dwr.xml
package com.unite.web.dwr;

import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;
import org.springframework.beans.factory.annotation.Autowired;
import com.unite.dao.UserDao;

@RemoteProxy(name="user")
public class UserDwr {

@Autowired
private UserDao userDao;

@RemoteMethod
public String getUserName(Long id) {
return userDao.get(id).getUserName();
}

}

[其他解释]
java.lang.NumberFormatException: null

在格式化的时候报错了
[其他解释]
NumberFormatException 异常, 是不是因为传入的值为空?
[其他解释]


//action控制器
package com.bjaxt.action;

import java.util.List;

import com.bjaxt.entity.Abc;
import com.bjaxt.services.IAbcServices;



public class AbcAction {

private IAbcServices abcSer;
private List<Abc> list;

public String findABC() {
list = abcSer.findAllAbc();
return "success";
}

public IAbcServices getAbcSer() {
return abcSer;
}

public void setAbcSer(IAbcServices abcSer) {
this.abcSer = abcSer;
}

public List<Abc> getList() {
return list;
}

public void setList(List<Abc> list) {
this.list = list;
}

}

//Dwr.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"
"http://getahead.org/dwr/dwr30.dtd">

<dwr>
<allow>
<create creator="spring" javascript="Hello" scope="application">

<param name="beanName" value="/*" />

<include method="findABC" />
</create>

<create match="com.jbaxt.action.AbcAction" converter="bean">

</create>


<signatures> <![CDATA[ import java.util.List; ]]>
</signatures>

</allow>
</dwr>


//web.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<servlet>
<servlet-name>dwr-invoker</servlet-name>

<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

<!-- 上下文参数,引用spring.xml -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</context-param>
<!-- spring监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- 解决 session is closed 的代码-->
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<filter>
<filter-name>struts2</filter-name>


<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>


//struts.xml 配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default" namespace="/">
<action name="*abc" class="abcAction" method="{1}">
<result>index.jsp</result>
</action>
</package>
</struts>

//spring.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"
default-autowire="byName">

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl">
</property>
<property name="username" value="system"></property>
<property name="password" value="123"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/bjaxt/entity/Abc.hbm.xml</value>
</list>
</property>
</bean>



<bean id="BaseDAO" class="com.bjaxt.dao.BaseDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

<!-- 配置Hibernate的事务管理器 -->
<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 定义事务通知 -->
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="find*" read-only="true" />
<!-- <tx:method name="get*" read-only="true"/> -->
<tx:method name="get*" read-only="false" />
<tx:method name="query*" read-only="true" />


<tx:method name="search*" read-only="true" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="do*" propagation="REQUIRED" />
<tx:method name="*" propagation="REQUIRED" read-only="true" />

</tx:attributes>
</tx:advice>

<aop:config>
<aop:pointcut expression="execution(* com.bjaxt.services.*.*(..))"
id="ser" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="ser" />
</aop:config>


<bean id="abcDao" class="com.bjaxt.dao.AbcDaoImpl" parent="BaseDAO"/>

<bean id="abcSer" class="com.bjaxt.services.AbcServicesImpl" />

<bean id="abcAction" class="com.bjaxt.action.AbcAction"/>

</beans>


这是我从SSH配置开始的相关的代码 我知道是我配置SSH出了问题 只是找不到在哪里

[其他解释]
虽然你们没有帮我搞定 但还是谢谢你们 我结帖了 问题我自己搞定了 是Status2 里面 有一个dwr.1.1.1.jar包 和 我放了一个在lib下dwr.jar 包有冲突 删掉Status2里面哪个包就好了

读书人网 >Java Web开发

热点推荐