已经解决了 谢谢大佬们
本帖最后由 980041382 于 2021-9-26 18:04 编辑今天学习JavaWeb使用Tomcat的时候 遇到了空指针异常 但是查不出来报错位置 Server log也并没有相关信息 求大佬指点迷津 本帖最后由 980041382 于 2021-9-26 18:00 编辑
package cn.web.servlet;
import cn.service.UserService;
import cn.service.impl.UserServiceImpl;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
@WebServlet("/delSelectedServlet")
public class DelSelectedServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.获取所有id
String[] ids = request.getParameterValues("uid");
//2.调用Service删除
UserService service = new UserServiceImpl();
service.delSelectedUser(ids);
//3.跳转查询所有Servlet
response.sendRedirect(request.getContextPath() + "/userListServlet");
}
}
这个是DelSelectedServlet的代码
Debug发现ids为null
17:59补一张图
本帖最后由 Fliex 于 2021-9-26 17:46 编辑
1、看一下UserServiceImpl 47行
2、方法入口处debug,一步一步调试。
UserService service = new UserServiceImpl();service 为null Fliex 发表于 2021-9-26 17:44
1、看一下UserServiceImpl 47行
2、方法入口处debug,一步一步调试。
UserService service = new UserSer ...
package cn.service.impl;
import cn.dao.UserDao;
import cn.dao.impl.UserDaoImpl;
import cn.domain.User;
import cn.service.UserService;
import java.util.List;
public class UserServiceImpl implements UserService {
private UserDao dao = new UserDaoImpl();
@Override
public List<User> findAll() {
//调用Dao完成查询
return dao.findAll();
}
@Override
public User login(User user) {
return dao.findUserByUsernameAndPassword(user.getUsername(), user.getPassword());
}
@Override
public void addUser(User user) {
dao.add(user);
}
@Override
public void deleteUser(String id) {
dao.delete(Integer.parseInt(id));
}
@Override
public User findUserById(String id) {
return dao.findById(Integer.parseInt(id));
}
@Override
public void updateUser(User user) {
dao.update(user);
}
@Override
public void delSelectedUser(String[] ids) {
//1.遍历数组
for (String id : ids) {
//2.调用dao删除
dao.delete(Integer.parseInt(id));
}
}
}
第47行就是一个增强for循环 980041382 发表于 2021-9-26 17:47
package cn.service.impl;
import cn.dao.UserDao;
入口处断点,看下ids传过来没有 Fliex 发表于 2021-9-26 17:51
入口处断点,看下ids传过来没有
ids为null帖子主楼贴图了 看下请求携带了 uid 这个东西没 jiangzeyi 发表于 2021-9-26 17:55
看下请求携带了 uid 这个东西没
没有发现。。。 恭喜进步 for (String id : ids) {
//2.调用dao删除
dao.delete(Integer.parseInt(id) string类型参数要的却是 integer 不转下类型?
页:
[1]
2