报错了,没找到原因呢。求助
package com.zcl.web.action;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zcl.domain.User;
import com.zcl.service.UserService;
import com.zcl.service.impl.UserServiceImpl;
/**
* Servlet implementation class UserServlet
*/
@WebServlet("/UserServlet")
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//接受参数
String methodName = request.getParameter("method");
//判断
if("login".equals(methodName)) {
login(request,response);
}
}
/**
* UserServlet中的登录方法
*/
private void login(HttpServletRequest request, HttpServletResponse response) {
//接受用户名和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username+" "+password);
//封装数据
User user1 = new User();
user1.setUsername(username);
user1.setPassword(password);
System.out.println(user1);
//处理数据
UserService userService = new UserServiceImpl();
User existUser = userService.login(user1);
System.out.println(existUser);
//根据处理结果,完成页面的跳转
if(existUser == null) {
//登录失败,返回登录界面
request.setAttribute("msg", "用户名或者密码不正确");
request.getRequestDispatcher("/admin/login.jsp");
}else {
//登录成功,将用户信息保存,并跳转
request.getSession().setAttribute("existUser", existUser);
try {
response.sendRedirect(request.getContextPath()+"/admin/category_list.jsp");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}package com.zcl.service;
import com.zcl.domain.User;
public interface UserService {
User login(User user1);
}package com.zcl.service.impl;
import com.zcl.dao.UserDao;
import com.zcl.dao.impl.UserDaoImpl;
import com.zcl.domain.User;
import com.zcl.service.UserService;
public class UserServiceImpl implements UserService {
public User login(User user1) {
//调用DAO的方法查询用户是否存在
UserDao userDao = new UserDaoImpl();
System.out.println(userDao.login(user1));
return userDao.login(user1);
}
}package com.zcl.dao.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.zcl.dao.UserDao;
import com.zcl.domain.User;
import com.zcl.utils.JDBCUtils;
public class UserDaoImpl implements UserDao {
@Override
public User login(User user1) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
//获得链接
conn = JDBCUtils.getConnection();
System.out.println(conn);
//编写SQL语句
String sql = "select * from user where username=? and password=?";
System.out.println("sql语句ok");
//预编译SQL语句
pstmt =conn.prepareStatement(sql);
//设置参数
pstmt.setString(1, user1.getUsername());
pstmt.setString(2, user1.getPassword());
//执行
rs = pstmt.executeQuery();
if(rs.next()) {
User existUser = new User();
existUser.setUid(rs.getInt("uid"));
existUser.setUsername(rs.getString("username"));
existUser.setPassword(rs.getString("password"));
return existUser;
}
}catch(Exception e) {
}finally{
//释放资源
JDBCUtils.release(rs, pstmt, conn);
}
return null;
}
}<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <default-config> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql:///shop1?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=Hongkong</property> <property name="user">root</property> <property name="password">321362654</property> </default-config> </c3p0-config>
Debug的时候程序在获取链接的时候就中断了,然后就报了这个异常,我使用的是mySQL8.0,就把链接时的那段代码加上了,但是还是报错

4
收起
正在回答 回答被采纳积分+1
5回答
好帮手慕阿满
2019-08-30 18:30:05
同学你好,建议同学在cmd输入密码链接MySQL数据库试试,如果不能正确登录,建议同学先停止MySQL服务,找到MySQL的安装文件,删除data文件夹,然后在cmd黑窗口中,按照如下命令执行以下:
1、使用cd命令先转换到MySQL目录下,执行:
mysqld --initialize --console
执行命令后,在root@localhost后会出现一个密码,记录下来。
2、执行如下命令:
mysqld --install
启动MySQL服务,使用记录的密码登录,查看是否可以登录。
如果可以,使用如下命令,修改密码为你想要的密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
祝:学习愉快~
3. Java 数据库开发与实战应用
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程




恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星