建立JavaWeb项目,连接MySQL数据库
首先需要下载mysql的jar包,地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java

找到自己需要的版本,下载下来
在自己的电脑中找到


将文件复制到这个文件的lib文件下

项目名字右击选择

添加完后会出现
2.打开navicat,在里面创建一个数据库和一个表,这里创建了一个叫做text的数据库和一个叫user的表

java代码根据自己的数据库来写就行

package entity; public class User { private String username;//定义用户名 private String password;//定义密码 public String getName() { return username; } public void setName(String name) { this.username = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
下面我们需要连接你的数据库
public static final String url="jdbc:mysql://localhost:这个地方是你的端口号/你的数据库名称?characterEncoding=utf8&useOldAliasMetadataBehavior=true";
public static final String username="root";//数据库用户名
public static final String password="xxxx";//数据库密码,你自己的密码
1 package util; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.Driver; 6 import java.sql.SQLException; 7 import java.sql.Statement; 8 9 public class DBUtil { 10 11 public static final String driver="com.mysql.jdbc.Driver"; 12 public static final String url="jdbc:mysql://localhost:3306/text?characterEncoding=utf8&useOldAliasMetadataBehavior=true"; 13 // public static final String url="jdbc:mysql://localhost:3306/数据库名字characterEncoding=utf8&useOldAliasMetadataBehavior=true"; 14 public static final String username="root";//数据库用户名 15 public static final String password="1234";//数据库密码,你自己 16 public static Connection con=null; 17 18 19 static{ 20 try { 21 Class.forName(driver);//得到DriverManager,在下面建立连接时使用 22 } catch (ClassNotFoundException e) { 23 e.printStackTrace(); 24 } 25 } 26 27 public static Connection getCon(){ 28 29 if(con == null){ 30 try { 31 con = DriverManager.getConnection(url, username, password); 32 } catch (SQLException e) { 33 e.printStackTrace(); 34 } 35 } 36 return con; 37 } 38 39 //关闭的方法 40 public static void close(Statement statement,Connection conn){ 41 if(statement !=null){ 42 try { 43 statement.close(); 44 } catch (SQLException e) { 45 // TODO Auto-generated catch block 46 e.printStackTrace(); 47 } 48 } 49 50 if(conn !=null){ 51 try { 52 conn.close(); 53 } catch (SQLException e) { 54 // TODO Auto-generated catch block 55 e.printStackTrace(); 56 } 57 } 58 } 59 60 public static void main(String args[]){ 61 new DBUtil().getCon(); 62 } 63 }
创建dao接口类
1 package dao; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 8 import entity.User; 9 import util.DBUtil; 10 11 public class UserDao { 12 13 //数据库连接对象 14 public User login(String username ,String password) { 15 User u=null; 16 Connection connection =null; 17 PreparedStatement pstmt=null; 18 ResultSet resultSet=null; 19 20 //赋值 21 try { 22 connection=DBUtil.getCon(); 23 //静态sql语句 24 String sql = "select * from user where username=? and password=?";//这里是在你数据库中的user表中找到username password 25 pstmt = (PreparedStatement) connection.prepareStatement(sql); 26 pstmt.setString(1, username);//用户名 27 pstmt.setString(2,password);//密码 28 resultSet = pstmt.executeQuery(); 29 if(resultSet.next()){ //判断用户名和密码数据库中是否拥有如果有输出登录成功 30 u=new User(); 31 u.setName(resultSet.getString("username")); 32 u.setPassword(resultSet.getString("password")); 33 System.out.println("登录成功!"); 34 }else{ 35 System.out.println("用户名或者密码错误!");//没有输出显示用户名或者密码错误! 36 } 37 } catch (SQLException e) { 38 e.printStackTrace(); 39 }finally { 40 // DBUtil.close(pstmt, connection); 41 } 42 return u; 43 44 } 45 46 public boolean addUser(User user) { 47 Connection connection = null; 48 PreparedStatement psmt = null; 49 try { 50 connection = DBUtil.getCon(); 51 52 String sql ="insert into user(username,password);"; 53 psmt = (PreparedStatement) connection.prepareStatement(sql); 54 55 //运用实体对象进行参数赋值 56 57 psmt.setString(1, user.getName()); 58 psmt.setString(2,user.getPassword()); 59 60 psmt.executeUpdate(); 61 } catch (SQLException e) { 62 e.printStackTrace(); 63 return false; 64 }finally { 65 //DBUtil.close(psmt, connection); 66 } 67 return true; 68 } 69 }
servlet处理类
1 package servlet; 2 3 import java.io.IOException; 4 import javax.servlet.ServletException; 5 import javax.servlet.annotation.WebServlet; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 import javax.servlet.http.HttpSession; 10 11 import dao.UserDao; 12 import entity.User; 13 14 15 @WebServlet("/LoginServlet") 16 public class LoginServlet extends HttpServlet { 17 private static final long serialVersionUID = 1L; 18 19 public LoginServlet() { 20 super(); 21 // TODO Auto-generated constructor stub 22 } 23 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 24 // TODO Auto-generated method stub 25 response.getWriter().append("Served at: ").append(request.getContextPath()); 26 } 27 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 28 // TODO Auto-generated method stub 29 // doGet(request, response); 30 String account = request.getParameter("username"); 31 String psd = request.getParameter("password"); 32 33 HttpSession sessionzxl = request.getSession(); 34 String username = request.getParameter("username"); 35 String password = request.getParameter("password"); 36 UserDao userDAO=new UserDao(); 37 User user = userDAO.login(username,password); 38 if(user != null){ 39 sessionzxl.setAttribute("user", user); 40 request.getRequestDispatcher("success.jsp").forward(request, response);; 41 }else{ 42 request.getRequestDispatcher("error.jsp").forward(request, response); 43 } 44 } 45 46 }
现在创建一个登陆界面

1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>登录界面</title> 8 <style type="text/css"> 9 10 </style> 11 12 </head> 13 <body> 14 <div style="text-align:center;margin-top:120px"> 15 <form action="LoginServlet" method="post"> 16 <table style="margin-left:40%"> 17 <h1 width="200"scrolldelay="250">用户登录</h1> 18 <tr> 19 <td>登录名:</td> 20 <td><input name="username" type="text" size="21"></td> 21 </tr> 22 <tr> 23 <td>密码:</td> 24 <td><input name="password" type="password" size="21"></td> 25 </tr> 26 </table> 27 <input type="submit" value="登录"> 28 <input type="reset" value="重置"> 29 </form> 30 <br> 31 </div> 32 </body> 33 </html>
success.jsp
jsp页面导入实体类 然后在页面上显示数据库的所有信息
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@ page import = "java.sql.*" %> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5 <%@ page import="entity.User"%> 6 7 <% 8 String path = request.getContextPath(); 9 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 10 %> 11 12 <html> 13 <head> 14 <base href="<%=basePath%>"> 15 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 16 <title>登陆成功</title> 17 </head> 18 <body> 19 <%User user = (User)session.getAttribute("user");%> 20 "登录成功!";<br> 21 22 23 <h3>所有用户信息</h3> 24 <table border="1"> 25 <tr> 26 <th>用户名</th> 27 <th>密码</th> 28 </tr> 29 <% 30 //加载、注册数据库驱动程序 31 Class.forName("com.mysql.jdbc.Driver"); 32 33 //数据库连接字符串 34 String url = "jdbc:mysql://localhost:3306/text"; 35 //用户名 36 String username = "root"; 37 //密码 38 String password = "1234"; 39 //数据库连接 40 Connection conn = DriverManager.getConnection(url, username, password); 41 42 //构造sql语句 43 String sql = "select * from user"; 44 //获取数据库操作对象(PreparedStatement对象) 45 PreparedStatement pstmt = conn.prepareStatement(sql); 46 47 ResultSet rs = pstmt.executeQuery(); 48 49 //循环前准备变量 50 String uname = null; 51 String upassword = null; 52 while(rs.next()){ 53 uname = rs.getString("username"); 54 upassword = rs.getString("password"); 55 %> 56 <tr> 57 <td><%= uname %></td> 58 <th><%= upassword%></th> 59 </tr> 60 61 62 <% 63 } 64 //释放对象 65 if(pstmt != null){ 66 pstmt.close(); 67 } 68 if(conn != null){ 69 pstmt.close(); 70 } 71 if(rs != null){ 72 rs.close(); 73 } 74 %> 75 </table> 76 77 </body> 78 </html>
创建一个超链接登陆失败的话返回登陆界面
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <% 5 String path = request.getContextPath(); 6 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 7 %> 8 9 <html> 10 <head> 11 <base href="<%=basePath%>"> 12 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 13 <title>登陆失败</title> 14 </head> 15 <body> 16 登陆失败! <br> 17 <a href="login.jsp">请重新登录</a> 18 </body> 19 </html>
登录成功

登录失败


浙公网安备 33010602011771号