吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1570|回复: 10
收起左侧

[已解决] 已经解决了 谢谢大佬们

[复制链接]
980041382 发表于 2021-9-26 17:42
本帖最后由 980041382 于 2021-9-26 18:04 编辑

屏幕截图 2021-09-26 174008.png
今天学习JavaWeb使用Tomcat的时候 遇到了空指针异常 但是查不出来报错位置 Server log也并没有相关信息 求大佬指点迷津

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 980041382 发表于 2021-9-26 17:44
本帖最后由 980041382 于 2021-9-26 18:00 编辑

[Java] 纯文本查看 复制代码
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
屏幕截图 2021-09-26 174915.png


17:59补一张图
3.png
Fliex 发表于 2021-9-26 17:44
本帖最后由 Fliex 于 2021-9-26 17:46 编辑

1、看一下UserServiceImpl 47行
2、方法入口处debug,一步一步调试。
UserService service = new UserServiceImpl();  service 为null
 楼主| 980041382 发表于 2021-9-26 17:47
Fliex 发表于 2021-9-26 17:44
1、看一下UserServiceImpl 47行
2、方法入口处debug,一步一步调试。
UserService service = new UserSer ...

[JavaScript] 纯文本查看 复制代码
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循环
Fliex 发表于 2021-9-26 17:51
980041382 发表于 2021-9-26 17:47
[mw_shl_code=javascript,true]package cn.service.impl;

import cn.dao.UserDao;

入口处断点,看下ids传过来没有

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
980041382 + 1 + 1 热心回复!

查看全部评分

 楼主| 980041382 发表于 2021-9-26 17:52
Fliex 发表于 2021-9-26 17:51
入口处断点,看下ids传过来没有

ids为null  帖子主楼贴图了
jiangzeyi 发表于 2021-9-26 17:55
看下请求携带了 uid 这个东西没
 楼主| 980041382 发表于 2021-9-26 17:59
jiangzeyi 发表于 2021-9-26 17:55
看下请求携带了 uid 这个东西没

没有发现。。。
iyeoman 发表于 2021-9-26 19:06
恭喜进步
cxb2468 发表于 2021-9-26 19:21
for (String id : ids) {
            //2.调用dao删除
            dao.delete(Integer.parseInt(id)      string类型  参数要的却是 integer       不转下类型?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:03

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表