Asicam 2019-05-01 22:48 采纳率: 0%
浏览 516

java web实现页面登陆

好像是这里面读不到数据,改了很久还是改不出来,求助!
package com.ding.dao;

import com.ding.entity.user;
import com.ding.util.DBHelper;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

/**
*

  • @author irin
    */
    public class userDao extends DBHelper{

    public user login(String username, String password){
    user u = null;
    String sql = "select * from user where username = ? and password=?";

    try{
    ResultSet rs = this.executeQuery(sql,username,password);
    if(rs.next()){
    u = new user();
    u.setUsername(rs.getString(1));
    u.setPassword(rs.getString(2));

    }
    }catch(Exception e){
    e.printStackTrace();
    }finally{
    this.close();

    }   
    

    return u;

    }
    }

package com.ding.servlet;

import com.ding.dao.userDao;
import com.ding.entity.user;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
*

  • @author irin
    */
    public class userServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    doGet(req,resp);
    }
    private userDao userdao = new userDao();
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    req.setCharacterEncoding("utf-8");

    String username = req.getParameter("user");
    String password = req.getParameter("password");

    user u = new user();
    u.setUsername(username);
    u.setPassword(password);
    
    userDao userdao = new userDao();
    if(userdao.login(username,password)!=null){
        req.setAttribute("user",u );
        resp.sendRedirect("welcome.jsp");
    }
    else
        req.getRequestDispatcher("sorry.jsp").forward(req, resp);
    

    }

}

package com.ding.entity;

/**
*

  • @author irin
    */
    public class user {
    // private int id;
    private String username;
    private String password;
    // private String role;

    public user() {
    }

    public user(String username, String password) {
    this.username = username;
    this.password = password;
    }

    public String getUsername() {
    return username;
    }

    public void setUsername(String username) {
    this.username = username;
    }

    public String getPassword() {
    return password;
    }

    public void setPassword(String password) {
    this.password = password;
    }

}

package com.ding.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
*

  • @author irin
    */
    public class DBHelper {
    private Connection conn;
    private PreparedStatement ps;
    private ResultSet rs;

    //获得连接
    private void getConnection(){
    try {
    Class.forName("com.mysql.jdbc.Driver");
    String url = "jdbc:mysql://localhost:3306/dormitorymanage?characterEncoding=utf8&useSSL=true";
    conn = DriverManager.getConnection(url,"root","Ding1234");
    } catch (Exception e) {
    e.printStackTrace();
    }

    }

    //关闭
    public void close(){
    if(conn!=null){
    try {
    conn.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    conn = null;
    }

    if(ps!=null){
    try {
        ps.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
        ps = null;
    }
    
    if(rs!=null){
    try {
        rs.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
        rs = null;
    }
    

    }

    //更新--增加、修改、删除
    public int executeUpdate(String sql,Object...objects){
    try {
    this.getConnection();
    ps = conn.prepareStatement(sql);
    if(objects!=null){
    for(int i=0;i<objects.length;i++){
    ps.setObject(i+1, objects[i]);
    }
    }
    return ps.executeUpdate();
    } catch (SQLException e) {
    e.printStackTrace();
    }finally{
    this.close();
    }
    return -1;

    }

    //查询
    public ResultSet executeQuery(String sql,Object...objects){
    try {
    this.getConnection();
    ps = conn.prepareStatement(sql);
    if(objects!=null){
    for(int i=0;i<objects.length;i++){
    ps.setObject(i+1, objects[i]);
    }
    }
    return rs = ps.executeQuery();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    return null;

    }
    }

  • 写回答

1条回答 默认 最新

  • 苏生Susheng 2024-03-12 21:33
    关注

    中文账号还是英文账号,中文账号的话,有可能是字符集编码的问题

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?