java__jo 2022-04-19 22:39 采纳率: 33.3%
浏览 30

使用jsp和servlet构建登录系统,服务器报500错误,测试Dao包,即查询数据库程序时显示error,但依然能返回查询内容。

使用IDEA编程Java程序,数据库使用的时mysql,服务器用的时navicat。
使用jsp和servlet构建登录系统,提交表单和查询数据库时,服务器报500错误。测试Dao包,即查询数据库程序时显示error,但依然能返回查询内容。

查询账号代码:

package com.qiaoshilei.dao.impl;

import com.qiaoshilei.dao.UserDao;
import com.qiaoshilei.pojo.User;
import com.qiaoshilei.util.DBUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class UserDaoImpl implements UserDao {
    @Override
    public User selectOne(String zh, String pwd) {
        Connection conn=null;
        PreparedStatement pstmt = null;
        ResultSet rs=null;
        User user=null;
        try {
            conn = DBUtil.getConn();
            pstmt = conn.prepareStatement("select * from user where zh=? and pwd=?");
            pstmt.setObject(1,zh);
            pstmt.setObject(2,pwd);
            rs = pstmt.executeQuery();
            while (rs.next()){
                Integer uid = rs.getInt("uid");
                String zh1 = rs.getString("zh");
                String pwd1 = rs.getString("pwd");
                String  realname = rs.getString("realname");
                user=new User(uid,zh1,pwd1,realname);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            DBUtil.closeAll(conn,pstmt,rs);
        }
        return user;
    }
}

业务部分(只是调用了查询方法,应该作用不大,也没有错误)

public class UserServiceImpl implements UserService {

    private UserDao userDao=new UserDaoImpl();
    @Override
    public User login(String zh, String pwd) {
        return userDao.selectOne(zh,pwd);
    }
}

页面控制部分:

@WebServlet("/UserLoginServlet")
public class UserLoginServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String uname = req.getParameter("uname");
        String pwd = req.getParameter("pwd");

        UserService userService=new UserServiceImpl();
        User user = userService.login(uname, pwd);

        if (user!=null){

            resp.sendRedirect(req.getContextPath()+"/success.jsp");
        }else{

            req.setAttribute("msg","登录失败");
            req.getRequestDispatcher("/login.jsp").forward(req,resp);
        }
    }
}

  • 写回答

2条回答 默认 最新

  • 学习日记 后端领域新星创作者 2022-04-20 00:12
    关注

    就这句话是什么意思,查询数据库程序时显示error,但依然能返回查询内容。看着没什么问题,500报错信息呢

    评论

报告相同问题?

问题事件

  • 创建了问题 4月19日

悬赏问题

  • ¥15 关于#python#的问题:在跑ldsc数据整理的时候一直抱这种错误,要么--out识别不了参数,要么--merge-alleles识别不了参数(操作系统-linux)
  • ¥15 PPOCRLabel
  • ¥15 网友们我该怎么办啊,急
  • ¥15 混合键合键合机对准标识
  • ¥100 现在不懂的是如何将当前的相机中的照片,作为纹理贴图,映射到扫描出的模型上
  • ¥15 目标跟踪,计算机视觉
  • ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
  • ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?
  • ¥200 C++表格文件处理-悬赏
  • ¥15 Windows Server2016本地登录失败