报错了,没找到原因呢。求助

报错了,没找到原因呢。求助

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&amp;useUnicode=true&amp;characterEncoding=UTF8&amp;serverTimezone=Hongkong</property>
    <property name="user">root</property>
    <property name="password">321362654</property>
  </default-config>
</c3p0-config>

Debug的时候程序在获取链接的时候就中断了,然后就报了这个异常,我使用的是mySQL8.0,就把链接时的那段代码加上了,但是还是报错

http://img1.sycdn.imooc.com//climg/5d68c84d0001b89212920587.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

5回答
好帮手慕柯南 2019-09-01 11:24:05

同学右键计算机,点击管理,下面也有服务这个菜单:

http://img1.sycdn.imooc.com//climg/5d6b39bf0001b31210000715.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


好帮手慕柯南 2019-09-01 10:11:31

同学你好!

按一下步骤查看一下自己的mysql服务名称是什么:

  1. win+R打开运行窗口,输入services.msc

  2. 会弹出以下页面

    http://img1.sycdn.imooc.com//climg/5d6b281b0001e9df08200600.jpg

  3. 在该页面直接按键盘的m可以找到与服务名包含m相关的服务,查看自己的服务名

    http://img1.sycdn.imooc.com//climg/5d6b28730001f5a507160395.jpg

  4. 然后重新执行一下以下命令:

    net stop 服务名

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 飞天小栗旬 #1
    老师。我输入services.msc之后显示“找不到应用程序”
    2019-09-01 10:23:55
好帮手慕阿满 2019-08-31 11:46:49

同学你好,同学可以在cmd中输入net stop MySQL,如:

http://img1.sycdn.imooc.com//climg/5d69e6f30001e05403020146.jpg

这样就算MySQL服务停止。

如果是使用smi方式安装的MySQL,Data文件夹是指mysql  server目录下的data文件夹,该目录下应该是同学创建的表结构等信息,可以先做备份,再删除。

祝:学习愉快~


  • 提问者 飞天小栗旬 #1
    老师。我在cmd输入后显示的是“服务器名无效”,
    2019-09-01 08:00:56
好帮手慕阿满 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';

祝:学习愉快~

  • 提问者 飞天小栗旬 #1
    老师我的MySQl。我在目录下面找到了好几个data,具体是删除哪一个目录下面的data呢
    2019-08-30 22:08:32
  • 提问者 飞天小栗旬 #2
    还有一个问题就怎么算是停止MySQl服务
    2019-08-30 22:38:40
好帮手慕阿满 2019-08-30 15:19:24

同学你好,这个可能是MySQL 8中加密方式发生了改变,之前的navicate没有来得及支持,因此需要将mysql设置为支持传统的那种密码加密。同学按照如下步骤设置一下:

use mysql;

alter user 'root'@'localhost' identified with mysql_native_password by 'root(你的密码)';

flush privileges;

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 飞天小栗旬 #1
    老师,这段代码在哪里使用, 在命令行连接到数据库之后吗
    2019-08-30 15:45:25
  • 提问者 飞天小栗旬 #2
    八月 30, 2019 3:50:50 下午 com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask run 警告: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@39dbd7d6 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 老师,刚才那个异常没有了,有出现一个新的异常
    2019-08-30 15:53:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师