问题是这样的:
在输入完信息后登陆,都会有空指针异常~~~我觉得是没有注入来~~~怎么解决不知道~~~无奈了~~~applicationContext.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <!-- 定义数据源 -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 定义数据库驱动 -->
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<!-- 定义数据库url -->
<property name="url">
<value>jdbc:oracle:thin:@127.0.0.1:1521:XE</value>
</property>
<!-- 定义数据库用户名 -->
<property name="username">
<value>openlab</value>
</property>
<!-- 定义数据库密码 -->
<property name="password">
<value>open123</value>
</property>
</bean>
<!-- 定义一个hibernate的SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 定义SessionFactory必需注入DataSource -->
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<!-- 以下用来列出所有的PO映射文件 -->
<value>/entity/User.hbm.xml</value>
<value>/entity/Admin.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<!-- 此处用来定义hibernate的SeesionFactory的属性:
不同数据库联接启动时选择create,update,create-drop -->
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
<prop key="hibernate.hbm2ddl.auto">none</prop>
</props>
</property>
</bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean> <bean id="userDao" class="dao.UserDaoImpl">
<property name="sessionFactory" ref="sessionFactory"/> </bean>
<bean id="us" class="service.UserService">
<property name="udi">
<ref bean="userDao"/>
</property>
</bean>
<bean id="la" class="actions.LoginAction">
<property name="udi" >
<ref bean="userDao" />
</property>
<property name="us">
<ref bean="us"/>
</property>
</bean>
<bean id="ts" class="present.Test">
<property name="udi" >
<ref bean="userDao"/>
</property>
</bean>
<bean name="/login" class="actions.LoginAction">
<property name="udi">
<ref bean="userDao"/>
</property>
<property name="us">
<ref bean="us"/>
</property>
</bean>
<bean id="chinese" class="Chinese">
<property name="axe">
<ref local="stoneAxe"/>
</property>
</bean>
<bean id="stoneAxe" class="StoneAxe" />
</beans>struts-config.xml
------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="form.LoginForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action path="/login" name="loginForm" validate="false" scope="request" input="login.jsp">
<forward name="success" path="/pages/success.jsp" />
<forward name="fail" path="/pages/fail.jsp" />
</action>
</action-mappings>
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property = "contextConfigLocation" value="/WEB-INF/applicationContext.xml"/>
</plug-in>
</struts-config>LoginAction.java
----------------------------------------------------------------
package actions;import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import dao.UserDaoImpl;import entity.Person;
import entity.User;
import form.LoginForm;import service.UserService;public class LoginAction extends Action{
private UserService us ;
private UserDaoImpl udi;
public void setUdi(UserDaoImpl udi) {
this.udi = udi;
} public void setUs(UserService us) {
this.us = us;
} public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println(us);
System.out.println(udi);
List list = udi.get();
System.out.println(list.size());
LoginForm user = (LoginForm) form;
System.out.println(user);
String name = user.getName();
String password = user.getPassword();
String type = user.getType();
System.out.println(name+password+type);
System.out.println(name);
System.out.println(password);
Person user1 = us.login(name, password,type);
System.out.println(user1);
if (user1 != null){
request.setAttribute("user", user);
request.setAttribute("userlist", list);
return mapping.findForward("success");
} else {
return mapping.findForward("fail");
}}
}UserDaoImpl.java
----------------------------------------------------------------------
package dao;import java.util.List;import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;import entity.Admin;
import entity.Person;
import entity.User;
public class UserDaoImpl implements UserDao {
private HibernateTemplate hibernateTemplate;
public List get() {
// TODO Auto-generated method stub
return getHibernateTemplate().find("from User");
}
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
public void add(User user) {
getHibernateTemplate().save(user);
// TODO Auto-generated method stub
}
public Person getByName(String name,String type){
Person person = null;
if(type.equals("0")){
person = (User) getHibernateTemplate().find("from Admin a where a.name like ?",name);
}else{
person = (Admin)getHibernateTemplate().find("from User u where u.name like ?",name);
}
return person;
}
public void delete(long id) {
// TODO Auto-generated method stub
Object p = getHibernateTemplate().load(User.class, id);
getHibernateTemplate().delete(p);
}
}各位帮帮忙啊!!!!
在输入完信息后登陆,都会有空指针异常~~~我觉得是没有注入来~~~怎么解决不知道~~~无奈了~~~applicationContext.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <!-- 定义数据源 -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 定义数据库驱动 -->
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<!-- 定义数据库url -->
<property name="url">
<value>jdbc:oracle:thin:@127.0.0.1:1521:XE</value>
</property>
<!-- 定义数据库用户名 -->
<property name="username">
<value>openlab</value>
</property>
<!-- 定义数据库密码 -->
<property name="password">
<value>open123</value>
</property>
</bean>
<!-- 定义一个hibernate的SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 定义SessionFactory必需注入DataSource -->
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<!-- 以下用来列出所有的PO映射文件 -->
<value>/entity/User.hbm.xml</value>
<value>/entity/Admin.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<!-- 此处用来定义hibernate的SeesionFactory的属性:
不同数据库联接启动时选择create,update,create-drop -->
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
<prop key="hibernate.hbm2ddl.auto">none</prop>
</props>
</property>
</bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean> <bean id="userDao" class="dao.UserDaoImpl">
<property name="sessionFactory" ref="sessionFactory"/> </bean>
<bean id="us" class="service.UserService">
<property name="udi">
<ref bean="userDao"/>
</property>
</bean>
<bean id="la" class="actions.LoginAction">
<property name="udi" >
<ref bean="userDao" />
</property>
<property name="us">
<ref bean="us"/>
</property>
</bean>
<bean id="ts" class="present.Test">
<property name="udi" >
<ref bean="userDao"/>
</property>
</bean>
<bean name="/login" class="actions.LoginAction">
<property name="udi">
<ref bean="userDao"/>
</property>
<property name="us">
<ref bean="us"/>
</property>
</bean>
<bean id="chinese" class="Chinese">
<property name="axe">
<ref local="stoneAxe"/>
</property>
</bean>
<bean id="stoneAxe" class="StoneAxe" />
</beans>struts-config.xml
------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="form.LoginForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action path="/login" name="loginForm" validate="false" scope="request" input="login.jsp">
<forward name="success" path="/pages/success.jsp" />
<forward name="fail" path="/pages/fail.jsp" />
</action>
</action-mappings>
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property = "contextConfigLocation" value="/WEB-INF/applicationContext.xml"/>
</plug-in>
</struts-config>LoginAction.java
----------------------------------------------------------------
package actions;import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import dao.UserDaoImpl;import entity.Person;
import entity.User;
import form.LoginForm;import service.UserService;public class LoginAction extends Action{
private UserService us ;
private UserDaoImpl udi;
public void setUdi(UserDaoImpl udi) {
this.udi = udi;
} public void setUs(UserService us) {
this.us = us;
} public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println(us);
System.out.println(udi);
List list = udi.get();
System.out.println(list.size());
LoginForm user = (LoginForm) form;
System.out.println(user);
String name = user.getName();
String password = user.getPassword();
String type = user.getType();
System.out.println(name+password+type);
System.out.println(name);
System.out.println(password);
Person user1 = us.login(name, password,type);
System.out.println(user1);
if (user1 != null){
request.setAttribute("user", user);
request.setAttribute("userlist", list);
return mapping.findForward("success");
} else {
return mapping.findForward("fail");
}}
}UserDaoImpl.java
----------------------------------------------------------------------
package dao;import java.util.List;import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;import entity.Admin;
import entity.Person;
import entity.User;
public class UserDaoImpl implements UserDao {
private HibernateTemplate hibernateTemplate;
public List get() {
// TODO Auto-generated method stub
return getHibernateTemplate().find("from User");
}
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
public void add(User user) {
getHibernateTemplate().save(user);
// TODO Auto-generated method stub
}
public Person getByName(String name,String type){
Person person = null;
if(type.equals("0")){
person = (User) getHibernateTemplate().find("from Admin a where a.name like ?",name);
}else{
person = (Admin)getHibernateTemplate().find("from User u where u.name like ?",name);
}
return person;
}
public void delete(long id) {
// TODO Auto-generated method stub
Object p = getHibernateTemplate().load(User.class, id);
getHibernateTemplate().delete(p);
}
}各位帮帮忙啊!!!!
解决方案 »
- MeadCo ScriptX总是报 “ 'factory.printing' 为空或不是对象 ”错误
- Buffer Overflow求解
- jsp如何去掉转向 同时又不影响使用 高手进来帮看下
- 关于数据日志的设计方案
- 面试关于JSP+oracl的问题求救
- java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 无效的游标状态
- manager中用new InitialContext()出错
- JAVABEAN调用错误!!!??
- 为什么有的汉字(比如:赟)在我的jsp页面提交后写入oracle后,会变成问号?
- servlet中不能连接数据库吗?
- tomcat 6.0启动 End event threw exception
- 清空mysql表中某列数据
-----------------------------------------------------------------------------
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
dao.UserDaoImpl.get(UserDaoImpl.java:17)
actions.LoginAction.execute(LoginAction.java:38)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.5.25UserService.java
--------------------------------------------------------------------------
package service;import dao.UserDaoImpl;
import entity.Person;
import entity.User;public class UserService {
private UserDaoImpl udi;
public void setUdi(UserDaoImpl udi) {
this.udi = udi;
} public Person login(String name, String password,String type){
Person user = udi.getByName(name,type);
if(user == null){
return null;
}else if(user.getLogin_password().equals(password)){
return user;
}
return null;
}
}
<value>/entity/Admin.hbm.xml </value> 前面的/去掉
-------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/pages/index.jsp</welcome-file>
</welcome-file-list>
</web-app>