我是照着21天学通java web的第二十一章抄的,不过做的时候却出现了错误:type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception java.lang.NullPointerException
com.javaweb.action.ShowAllAction.execute(ShowAllAction.java:22)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknow
...我的ShowAllAction.java文件内容如下:public class ShowAllAction extends ActionSupport {
private UserService userService;public UserService getUserService() {
return userService;
}public void setUserService(UserService userService) {
this.userService = userService;
}public String execute() throws Exception {
List all = userService.queryAllUser();//就是它出错啦,通过junit测试能够通过,在这里却不行[/color]
// 将用户list存储在request范围内
ServletActionContext.getRequest().setAttribute("all", all);
return SUCCESS;
}
}好像execute中第一句:List all = userService.queryAllUser();运行不通过,因为我把它删除了之后就可以了
但是我使用JUNIT测试时这一句却能够得出数据库中的数据,所以请各位大侠帮下忙,不胜感激!附:
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">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>
<constant name="struts.ui.theme" value="simple"></constant>
<package name="javaweb" namespace="/javaweb" extends="struts-default">
<action name="showAll" class="com.javaweb.action.ShowAllAction">
<result name="success">/WEB-INF/page/showAll.jsp</result>
</action>
<action name="showUser" class="com.javaweb.action.ShowUserAction">
<result name="success">/WEB-INF/page/showUser.jsp</result>
</action>
</package>
</struts> spring.xml:(省略数据库及sessionFactory配制)...
...<!-- 配置业务逻辑组件 -->
<bean id="userService" class="com.javaweb.service.UserServiceImpl">
<property name="userDAO" ref="userDAO"></property>
</bean><!-- 创建showAllAction实例 -->
<bean id="showAllAction" class="com.javaweb.action.ShowAllAction">
<property name="userService" ref="userService"></property>
</bean><!-- 创建showUserAction实例 -->
<bean id="showUserAction" class="com.javaweb.action.ShowUserAction">
<property name="userService" ref="userService"></property>
</bean>
源代码已经上传到我的CSDN上传文件中,各位同仁麻烦帮一下忙啊!MyEclipse项目来的。
运行http://localhost:8080/SSH2/javaweb/showAll.action时出现错误
com.javaweb.action.ShowAllAction.execute(ShowAllAction.java:22)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknow
...我的ShowAllAction.java文件内容如下:public class ShowAllAction extends ActionSupport {
private UserService userService;public UserService getUserService() {
return userService;
}public void setUserService(UserService userService) {
this.userService = userService;
}public String execute() throws Exception {
List all = userService.queryAllUser();//就是它出错啦,通过junit测试能够通过,在这里却不行[/color]
// 将用户list存储在request范围内
ServletActionContext.getRequest().setAttribute("all", all);
return SUCCESS;
}
}好像execute中第一句:List all = userService.queryAllUser();运行不通过,因为我把它删除了之后就可以了
但是我使用JUNIT测试时这一句却能够得出数据库中的数据,所以请各位大侠帮下忙,不胜感激!附:
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">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>
<constant name="struts.ui.theme" value="simple"></constant>
<package name="javaweb" namespace="/javaweb" extends="struts-default">
<action name="showAll" class="com.javaweb.action.ShowAllAction">
<result name="success">/WEB-INF/page/showAll.jsp</result>
</action>
<action name="showUser" class="com.javaweb.action.ShowUserAction">
<result name="success">/WEB-INF/page/showUser.jsp</result>
</action>
</package>
</struts> spring.xml:(省略数据库及sessionFactory配制)...
...<!-- 配置业务逻辑组件 -->
<bean id="userService" class="com.javaweb.service.UserServiceImpl">
<property name="userDAO" ref="userDAO"></property>
</bean><!-- 创建showAllAction实例 -->
<bean id="showAllAction" class="com.javaweb.action.ShowAllAction">
<property name="userService" ref="userService"></property>
</bean><!-- 创建showUserAction实例 -->
<bean id="showUserAction" class="com.javaweb.action.ShowUserAction">
<property name="userService" ref="userService"></property>
</bean>
源代码已经上传到我的CSDN上传文件中,各位同仁麻烦帮一下忙啊!MyEclipse项目来的。
运行http://localhost:8080/SSH2/javaweb/showAll.action时出现错误
解决方案 »
- 腾讯说说的数据库设计问题(我想在jsp页面展示时想腾讯那样!!那位大侠给我看看!!)
- <c:when>的一个小问题
- jstl标签,struts标签,自定义标签的编译顺序有没有明确的先后?
- JSF <h:selectmanycheckbox/>与数组转换器
- 从零开始学Java,应该怎么开始啊?
- 请教: 如何获取客户端的机器语言? 比如中文_中国, 中文_台湾,英文_美国....
- 请各位高手帮忙看看
- 如果用JQuery实现确认弹出框?
- 愤怒!!!!为什么我的信誉分无缘无故被扣掉了15分??!!斑竹请进来说明一下!!
- Action中的实体类用Spring注入的问题
- MyEclipse外独立使用tomcat时能看到1xx.jsp、2xx.jsp、3xx.jsp但是点进去看内容tomcat报错Internal Error
- org.springframework.orm.hibernate3.HibernateQueryException: could not locate nam
<property name="userService" ref="userService"></property>
</bean>
userService.queryAllUser();
出错,
很可能问题出在:
<bean id="userService" class="com.javaweb.service.UserServiceImpl">
<property name="userDAO" ref="userDAO"></property>
</bean>
中的UserServiceImpl或userDAO中。
说明你没有正确的注入userService对象。
你这个错误就是spring找不到对应的action类去注入。所以出现错误
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.ui.theme" value="simple"></constant>
<package name="javaweb" namespace="/javaweb" extends="struts-default">
<action name="showAll" class="showAllAction">
<result name="success">/WEB-INF/page/showAll.jsp</result>
</action>
<action name="showUser" class="showUserAction">
<result name="success">/WEB-INF/page/showUser.jsp</result>
</action>
</package>
</struts> 这样struts中的action的class对应的就是spring中的bean,才实现了整合。
严重: Exception starting filter struts2
Unable to load configuration. - action - file:/C:/Java/tomcat-7/webapps/SSH2/WEB-INF/classes/struts.xml:6:54
是不是我的web.xml也写错啦?