java_mysql遇到的一些问题
1.安装的版本为mysql8.0.11最新版本,问题未解决:
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/database1","root","123456");
连接不上本地数据库。错误:(Could not create connection to database server.)
可能是版本太高。换低版本的mysql5.7.22连接正常。
2.重新安装mysql5.7.22
重新卸载安装低版本。改系统路径,删除注册表。重新安装。
3.两种版本的修改用户密码的方式不一样:
8.0.11版本:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
5.7.22版本:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
刷新权限:flush privileges;
4.servlet上连接数据库编译异常。(给的jar包方法)
5.ajax的请求,servlet无法获取。
已解决:ajax与form的提交方式都是 ”url”,不用加”/”。如:
前端发送请求:
方法①<form action="loginServlet" method="post">
方法②
1 $.ajax({ 2 3 type: "POST", 4 5 url: ”loginServlet”, 6 7 data: {a1:'jobId'}, 8 9 dataType:'json', 10 11 cache: false, 12 13 async: true, 14 15 success: function(data){ 16 17 console.log('success'); 18 19 } 20 21 });
Servlet端接收请求:
Web.xml:
1 <servlet> 2 3 <servlet-name>loginServlet</servlet-name> 4 5 <servlet-class>org.cc.practice.servlet.LoginServlet</servlet-class> 6 7 </servlet> 8 9 <servlet-mapping> 10 11 <servlet-name>loginServlet</servlet-name> 12 13 <url-pattern>/loginServlet</url-pattern> 14 15 </servlet-mapping>
在org.cc.practice.servlet.LoginServlet.java进行处理
6.ajax向后台提交请求,servlet将数据返回error中。原因:可能是传输方式不一致。Ajax使用 contentType:"application/json",
Servlet使用的 "response.setContentType("text/html;charset=UTF-8");"