2 u014623594 u014623594 于 2016.04.18 12:21 提问

在springmvc中做一个根据id删除一条数据的功能,出现500问题,代码如下,请大神指教

Model层代码
package com.pengyou.model;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "sg_registry")
public class registryEntity {

private int id;
private String name;
private String phonenum;
private int intArea; //意向面积
private String recHouse;
private String logTime; //录入时间
private String salesMan;
private String workArea;
private int visitsCount;
private String address;
private String photoUrl;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id",nullable = false,length = 9)
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}

@Column(name = "name",nullable = false,length = 25)
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}

@Column(name = "phonenum",nullable = false,length = 11)
public String getPhonenum() {
    return phonenum;
}
public void setPhonenum(String phonenum) {
    this.phonenum = phonenum;
}

@Column(name = "intArea",nullable = false,length = 9)
public int getIntArea() {
    return intArea;
}
public void setIntArea(int intArea) {
    this.intArea = intArea;
}

@Column(name = "recHouse",nullable = false,length = 255)
public String getRecHouse() {
    return recHouse;
}
public void setRecHouse(String recHouse) {
    this.recHouse = recHouse;
}

@Column(name = "logTime",nullable = false)
public String getLogTime() {
    return logTime;
}
public void setLogTime(String logTime) {
    this.logTime = logTime;
}

@Column(name = "salesMan",nullable = false,length = 255)
public String getSalesMan() {
    return salesMan;
}
public void setSalesMan(String salesMan) {
    this.salesMan = salesMan;
}

@Column(name = "workArea",nullable = false,length = 255)
public String getWorkArea() {
    return workArea;
}
public void setWorkArea(String workArea) {
    this.workArea = workArea;
}

@Column(name = "visitsCount",nullable = false,length = 9)
public int getVisitsCount() {
    return visitsCount;
}
public void setVisitsCount(int visitsCount) {
    this.visitsCount = visitsCount;
}

@Column(name = "address",nullable = true,length = 255)
public String getAddress() {
    return address;
}
public void setAddress(String address) {
    this.address = address;
}

@Column(name = "photoUrl",nullable = false,length = 255)
public String getPhotoUrl() {
    return photoUrl;
}
public void setPhotoUrl(String photoUrl) {
    this.photoUrl = photoUrl;
}

}
DAO实现类代码
package com.pengyou.dao.impl;
import javax.annotation.Resource;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.stereotype.Repository;
import com.pengyou.dao.IdelDao;
import com.pengyou.model.registryEntity;

@Repository("deldao")
public class delDaoImpl implements IdelDao{

@Resource
protected SessionFactory sessionFactory;

public Session getSession(){
    return sessionFactory.getCurrentSession();

}
@Override
public void delreg(int id) {
    Session session = this.getSession();
    //registryEntity regens = (registryEntity) session.get(registryEntity.class, id);
    registryEntity regens = new registryEntity();
    regens.setId(id);
    session.delete(regens);

}

}
sevice实现类代码
package com.pengyou.service.impl;
import java.util.List;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import com.pengyou.dao.IdelDao;
import com.pengyou.service.IdelService;
@Transactional
@Service("delservice")
public class delServiceImpl implements IdelService{
private IdelDao deldao;
@Override
public void delreg(int id) {
// TODO Auto-generated method stub
System.out.println("delServiceImpl---1------>"+id);
deldao.delreg(id);

    System.out.println("delServiceImpl--------->"+id);

}

/*

@Override
public List allReg() {
    // TODO Auto-generated method stub
    return deldao.allReg();
}

*/

}
Controller层代码
package com.pengyou.controller;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.pengyou.service.IdelService;
@Controller
@RequestMapping("/del/")
public class delController extends BaseController{

@Resource
private IdelService idelservice;

@ResponseBody
@RequestMapping("delReg")
public String toadd(HttpServletRequest request){
    System.out.println("id++++++"+request.getParameter("id"));
    idelservice.delreg(Integer.parseInt(request.getParameter("id")));
    /*System.out.println("delController------->");*/
    return "————————————————————";
}

}
页面代码


style="width: 35px;height: 35px" src="images/${r.photoUrl }" />
${r.name}
${r.phonenum }
${r.intArea }

${r.recHouse}
${r.logTime }
${r.salesMan }

${r.workArea}
${r.visitsCount }
${r.address }

编辑
删除
备注


/c:forEach

运行时会报500错误,其余的地方都应该没错,应该是dao实现类中的方法错了
id++++++1

delServiceImpl---1------>1
四月 18, 2016 12:18:51 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [sao] in context with path [/house] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at com.pengyou.service.impl.delServiceImpl.delreg(delServiceImpl.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy18.delreg(Unknown Source)

2个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.04.18 12:35
已采纳
500是服务器后台处理错误,异常信息显示 delServiceImpl.java这个类有空指针异常,你定位到对应的行单步调试下吧。
JX_yang_zhi
JX_yang_zhi 2221111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333335刲是上 上上上上上 上上上 上上 上上上上
2 年多之前 回复
JX_yang_zhi
JX_yang_zhi 一动不动 一
2 年多之前 回复
u014623594
u014623594 额,我不会单步调试,你能不能帮我看看我的dao实现类中的方法对不对啊
2 年多之前 回复
zhukova
zhukova   2016.04.18 13:23

估计是你的持久层session根本就没有获取到

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SSH实现删除功能的一些问题
整合完SSH实现增删改查功能的时候,遇到一些问题: 当我通过页面id实现删除功能的时候,第次都必须点击两次删除链接,才能将一条记录删除掉,于是我在代码中添加输出语句,看看能不能取到id,结果发现点击第一次,id的值是0,点击第二次的时候,id的值变成了当前记录的id,然后,把这条记录删除掉了。 在网上找了解决办法,我把原来的getSession().delete(user)换成getHiber
基于SpringMVC框架,完成用户的增,删,改,查,以及json数据处理
第一步:配置DispatcherServlet以及字符编码处理 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.xs
springmvc+mybatis框架下,写通用的操作,删除等的操作
/** * Created by ldz..attack on 2016/11/23 0023. * <p> * 配合mybatis的预编译想用它做一个通用操作类 * <p> * 目前来看只有:删除/权限修改两种操作用此方法比较简便 * <p> * 如果是查询,大量的不同字段不易解决 */ @Controller @RequestMapping(value = "/general")
SpringMVC表单数据增删改查简易梳理(含实例代码)
      使用SpringMVC创建表单进行数据的增删改查是javaEE开发的基本功,本人根据自己最近开发的基于jeecms框架的网站平台来梳理数据增删改查的思路。      首先根据所需表单页面设计数据库,定义不同字段的数据类型和长度,若存在多张数据表,还需设计不同表间的对应关系(例如one-to-one,many-to-one,many-to-many等),确定好对应关系(经常为主键和外键的...
JS中根据id删除一行数据
function del(tableID, obj) {    var rowIndex = obj.parentElement.parentElement.rowIndex;    obj.parentElement.parentElement.parentElement.deleteRow(rowIndex);  } 从申请中剔除
如何实现springmvc+mybatis用多选框批量删除的功能Java代码
今天写了一个批量删除的功能,在后台传值过程中一直出错,最终还是请教了北京的一位高手帮我解决的,在此首先要好好感谢他,以后我有幸能帮助别人的话,决不推辞。 废话不说,直接进入正题,我会将在编写过程中出现的一些小知识点也进行总结概括的。 此项目基于的框架是:springmvc+mybatis (1)controller /**      * 批量删除 batch      */   
php实例根据ID删除mysql表中的数据
在动态网站开发中,我们经常要根据ID删除表中的数据,例如用户删除帖子,就需要根据ID删除帖子。本文章向大家介绍php根据ID删除表中数据的实例,需要的朋友可以参考一下本文章的实例。 php实例根据ID删除mysql表中的数据 例如有一个员工表,表中有员工ID、员工姓名、员工薪资等等信息,我们需要将ID=1的员工信息从表中删除。php实现代码如下: <?php /* by http:/
关于MySQL的按照id进行删除记录
关于MySQL的按照id进行删除记录
SpringMVC下删除一条数据后重新加载当前页面(已实现分页功能)
概述 在做删除功能时,为了实现删除一条数据后重新加载当前页面的数据列表前提 使用SpringMVC进行构建,并且已实现分页功能,前台使用jsp+jquery步骤 1.前台: 使用jquery选择删除按钮并绑定点击事件deleteCost,代码如下:function deleteCost(id, page) { //此处弹出确认框询问 var r = window.confir
数据库删除之根据ID删除父表中的数据和根据ID删除子表数据
删(根据ID删除员工主表数据,根据员工ID删除员工和部门关系表数据) create proc myDelData  (   @EmployeeID int  )  as  begin  begin tran myTran  delete from TDepartment where ID=@EmployeeID--删除员工表数据  delete from Mapping_