报错:
java.lang.NullPointerException
org.action.XsAction.deleteXs(XsAction.java:67)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)xsAction.java
package org.action;
import java.util.*;
import org.model.*;
import org.service.*;
import com.opensymphony.xwork2.*;@SuppressWarnings("serial")
public class XsAction extends ActionSupport{
private Student2 st;
private XsService xsService;
private Collection<Student2> students;
public Student2 getStudent2(){
return st;
}
public void setStudent2(Student2 st){
this.st=st;
}
public XsService getXsService(){
return xsService;
}
public void setXsService(XsService xsService){
this.xsService=xsService;
}
public Collection<Student2> getStudents() {
return students;
} public void setStudents(Collection<Student2> students) {
this.students = students;
}
public String execute() throws Exception{
try{
setStudents(xsService.allStudents());
return SUCCESS;
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return ERROR;
}
}
public String findXsView() throws Exception{
return SUCCESS;
}
@SuppressWarnings("unchecked")
public String findXs() throws Exception{
int xh=st.getStId();
if(xsService.find(xh)!=null){
return ERROR;
}
Student2 st1=xsService.find(xh);
Map request=(Map)ActionContext.getContext().get("request");
request.put("st", st1);
return SUCCESS;
}
public String deleteXsView() throws Exception{
return SUCCESS;
}
public String deleteXs() throws Exception{
int xh=st.getStId();
try {
xsService.delStudent(xh);
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
public String update() throws Exception{
return SUCCESS;
}
@SuppressWarnings("unchecked")
public String updateXsView() throws Exception{
int xh=st.getStId();
Student2 xsinfo=xsService.find(xh);
Collection<Student2> xx=xsService.allStudents();
Map request=(Map)ActionContext.getContext().get("request");
request.put("xsinfo", xsinfo);
request.put("xx", xx);
return SUCCESS;
}
public String updateXs() throws Exception{
Student2 xs1=xsService.find(st.getStId());
xs1.setStName(st.getStName());
xs1.setStSex(st.getStSex());
xs1.setStAge(st.getStAge());
xs1.setStTel(st.getStTel());
xs1.setStDept(st.getStDept());
xs1.setStAddress(st.getStAddress());
Map request=(Map)ActionContext.getContext().get("request");
xsService.updateStudent(xs1);
return SUCCESS;
}
public String addXsView() throws Exception{
return SUCCESS;
}
public String addXs() throws Exception{
Student2 st1=new Student2();
int xh1=st.getStId();
if(xsService.find(xh1)!=null){
return ERROR;
}
st1.setStName(st.getStName());
st1.setStSex(st.getStSex());
st1.setStAge(st.getStAge());
st1.setStTel(st.getStTel());
st1.setStDept(st.getStDept());
st1.setStAddress(st.getStAddress());
xsService.addStudent(st1);
return SUCCESS;
}
}struts.xml相关配置
<action name="deleteXsView" class="xs" method="deleteXsView">
<result name="success">/deleteXsView.jsp</result>
</action>
<action name="deleteXs" class="xs" method="deleteXs">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>applicationContext.xml相关配置
<bean id="baseDao" class="org.dao.BaseDao">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="userDao" class="org.dao.imp.UserDaoimp" parent="baseDao"/>
<bean id="dlService" class="org.service.imp.DLServiceManage">
<property name="userDao" ref="userDao"/>
</bean>
<bean id="dl" class="org.action.Dlaction">
<property name="dlService" ref="dlService"/>
</bean>
<bean id="stDao" class="org.dao.imp.StudentDaoimp" parent="baseDao"/>
<bean id="xsService" class="org.service.imp.XsServiceManage">
<property name="stDao" ref="stDao"></property>
</bean>
<bean id="xs" class="org.action.XsAction">
<property name="xsService" ref="xsService"></property>
</bean>
java.lang.NullPointerException
org.action.XsAction.deleteXs(XsAction.java:67)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)xsAction.java
package org.action;
import java.util.*;
import org.model.*;
import org.service.*;
import com.opensymphony.xwork2.*;@SuppressWarnings("serial")
public class XsAction extends ActionSupport{
private Student2 st;
private XsService xsService;
private Collection<Student2> students;
public Student2 getStudent2(){
return st;
}
public void setStudent2(Student2 st){
this.st=st;
}
public XsService getXsService(){
return xsService;
}
public void setXsService(XsService xsService){
this.xsService=xsService;
}
public Collection<Student2> getStudents() {
return students;
} public void setStudents(Collection<Student2> students) {
this.students = students;
}
public String execute() throws Exception{
try{
setStudents(xsService.allStudents());
return SUCCESS;
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return ERROR;
}
}
public String findXsView() throws Exception{
return SUCCESS;
}
@SuppressWarnings("unchecked")
public String findXs() throws Exception{
int xh=st.getStId();
if(xsService.find(xh)!=null){
return ERROR;
}
Student2 st1=xsService.find(xh);
Map request=(Map)ActionContext.getContext().get("request");
request.put("st", st1);
return SUCCESS;
}
public String deleteXsView() throws Exception{
return SUCCESS;
}
public String deleteXs() throws Exception{
int xh=st.getStId();
try {
xsService.delStudent(xh);
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
public String update() throws Exception{
return SUCCESS;
}
@SuppressWarnings("unchecked")
public String updateXsView() throws Exception{
int xh=st.getStId();
Student2 xsinfo=xsService.find(xh);
Collection<Student2> xx=xsService.allStudents();
Map request=(Map)ActionContext.getContext().get("request");
request.put("xsinfo", xsinfo);
request.put("xx", xx);
return SUCCESS;
}
public String updateXs() throws Exception{
Student2 xs1=xsService.find(st.getStId());
xs1.setStName(st.getStName());
xs1.setStSex(st.getStSex());
xs1.setStAge(st.getStAge());
xs1.setStTel(st.getStTel());
xs1.setStDept(st.getStDept());
xs1.setStAddress(st.getStAddress());
Map request=(Map)ActionContext.getContext().get("request");
xsService.updateStudent(xs1);
return SUCCESS;
}
public String addXsView() throws Exception{
return SUCCESS;
}
public String addXs() throws Exception{
Student2 st1=new Student2();
int xh1=st.getStId();
if(xsService.find(xh1)!=null){
return ERROR;
}
st1.setStName(st.getStName());
st1.setStSex(st.getStSex());
st1.setStAge(st.getStAge());
st1.setStTel(st.getStTel());
st1.setStDept(st.getStDept());
st1.setStAddress(st.getStAddress());
xsService.addStudent(st1);
return SUCCESS;
}
}struts.xml相关配置
<action name="deleteXsView" class="xs" method="deleteXsView">
<result name="success">/deleteXsView.jsp</result>
</action>
<action name="deleteXs" class="xs" method="deleteXs">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>applicationContext.xml相关配置
<bean id="baseDao" class="org.dao.BaseDao">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="userDao" class="org.dao.imp.UserDaoimp" parent="baseDao"/>
<bean id="dlService" class="org.service.imp.DLServiceManage">
<property name="userDao" ref="userDao"/>
</bean>
<bean id="dl" class="org.action.Dlaction">
<property name="dlService" ref="dlService"/>
</bean>
<bean id="stDao" class="org.dao.imp.StudentDaoimp" parent="baseDao"/>
<bean id="xsService" class="org.service.imp.XsServiceManage">
<property name="stDao" ref="stDao"></property>
</bean>
<bean id="xs" class="org.action.XsAction">
<property name="xsService" ref="xsService"></property>
</bean>
解决方案 »
- spring管理的项目部署到tomcat上,启服务器的时候报错
- 我想通过Java打开带密码的word和excel(密码已知)
- hibernate 问题
- 关于Java Web的学习
- javascript事件 后退功能如何实现?
- Can't start a cloned connection while in manual transaction mode?是什么错误
- 有人知道在哪些网站可以下载java学习书籍,交流学习心得??
- EJB到底有多慢?
- 就要去找工作了!心里没底!
- 一个javaee项目里异常一般怎么处理呢
- Java Swing开发类似QQ音乐歌词弹窗求思路,大佬看过来~
- MD5加密存入数据库
那空指针问题就是这个原因了,你看下getStId()方法的实现和sql语句是否正确,如果可以的话,你可以把代码贴上来
* AbstractStudent2 entity provides the base persistence definition of the
* Student2 entity. @author MyEclipse Persistence Tools
*/public abstract class AbstractStudent2 implements java.io.Serializable { // Fields private int stId;
private String stName;
private String stSex;
private String stAge;
private String stTel;
private String stDept;
private String stAddress; // Constructors /** default constructor */
public AbstractStudent2() {
} /** minimal constructor */
public AbstractStudent2(int stId,String stName, String stSex, String stAge,
String stDept, String stAddress) {
this.stId = stId;
this.stName = stName;
this.stSex = stSex;
this.stAge = stAge;
this.stDept = stDept;
this.stAddress = stAddress;
} /** full constructor */
public AbstractStudent2(int stId,String stName, String stSex, String stAge,
String stTel, String stDept, String stAddress) {
this.stId = stId;
this.stName = stName;
this.stSex = stSex;
this.stAge = stAge;
this.stTel = stTel;
this.stDept = stDept;
this.stAddress = stAddress;
} // Property accessors public int getStId() {
return this.stId;
} public void setStId(int stId) {
this.stId = stId;
} public String getStName() {
return this.stName;
} public void setStName(String stName) {
this.stName = stName;
} public String getStSex() {
return this.stSex;
} public void setStSex(String stSex) {
this.stSex = stSex;
} public String getStAge() {
return this.stAge;
} public void setStAge(String stAge) {
this.stAge = stAge;
} public String getStTel() {
return this.stTel;
} public void setStTel(String stTel) {
this.stTel = stTel;
} public String getStDept() {
return this.stDept;
} public void setStDept(String stDept) {
this.stDept = stDept;
} public String getStAddress() {
return this.stAddress;
} public void setStAddress(String stAddress) {
this.stAddress = stAddress;
}}
import org.model.*;
import org.hibernate.*;
public class StudentDaoimp extends BaseDao implements StudentDao {
//显示全部
@Override
public Collection<Student2> allStudents() {
Session session=getSession();
Transaction ts=session.beginTransaction();
String hqlString="from Student2";
Query query=session.createQuery(hqlString);
@SuppressWarnings("unchecked")
List<Student2> students=query.list();
ts.commit();
session.close();
session=null;
return students;
}
//查询
public Student2 find(int id) {
try{
Session session=getSession();
Transaction ts=session.beginTransaction();
Query query=session.createQuery("from Student2 where id=?0");
query.setInteger("0", id);
Student2 stu=(Student2)query.uniqueResult();
ts.commit();
session.clear();
return stu;
}
catch(Exception e){
e.printStackTrace();
return null;
}
} //添加
public void addStudent(Student2 stu) {
try {
Session session=getSession();
Transaction ts=session.beginTransaction();
session.save(stu);
ts.commit();
session.close();
}
catch (Exception e) {
e.printStackTrace();
}
} //删除
public void delStudent(int id) {
try {
Session session=getSession();
Transaction ts=session.beginTransaction();
Student2 stu=find(id);
session.delete(stu);
ts.commit();
} catch (Exception e) {
e.printStackTrace();
}
} //修改
public void updateStudent(Student2 stu) {
try {
Session session=getSession();
Transaction ts=session.beginTransaction();
session.update(stu);
ts.commit();
session.close();
}
catch (Exception e) {
e.printStackTrace();
}
}}