jsp+servlet+mysql 简单登录操数据库

来源:互联网 发布:mac os 快压 知乎 编辑:程序博客网 时间:2024/05/16 12:34

准备工作:在mysql新建一个数据库名:TestDB,用户:root,密码:root

在项目中必须加载mysql的连接驱动。

在创建的TestDB中,创建表user,插入若干条数据(id,name(用户名),pwd(用户密码))

1.index.jsp

2.login.jsp

3.success.jsp

4.MyServlet.java

1.index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
        <jsp:forward page="login.jsp"/>
    </body>
</html>

2.login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <script>
        function check() {
            if (document.form.username.value == "") {
                alert("请输入用户名");
                return false;
            }
            else if (document.form.password.value == "") {
                alert("请输入密码");
                return false;
            }
            else {


            }
        }
    </script>
    <body>
        <form name="form" action="LoginServlet" method="post" onsubmit="return check()">
     <table border="1" align="center">
      <tr>
       <td colspan="2"><h3 align="center">用户登录</h3></td>
      </tr>
      <tr>
       <td>username:</td>
       <td><input type="text" name="username"/></td>
      </tr>
      <tr>
       <td>password:</td>
       <td><input type="password" name="password"/></td>
      </tr>
      <tr>
       <td align="center" colspan="2"><input type="submit" value="提交"/>&nbsp;&nbsp;
        <input type="reset" value="重置"/>
       </td>
      </tr>
     </table>
            <center> ${message}</center>
    </form>
    </body>
</html>

3.sucess.jsp

<%@page language="java" import="java.util.*" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Success Page</title>
    </head>
    <body>
        <%
            String name = null;
            String user = request.getParameter("username");
            String pwd =  request.getParameter("passward");
            if (user == null&&pwd == null&&user==""&&pwd=="") {
                response.sendRedirect("login.jsp");
            }
             name = (String)session.getAttribute("username");
            if (name == null) {
                    response.sendRedirect("login.jsp");
        
            }
        %>
        <%=name + "登录成功"%>
    </body>
</html>

4.MyServlet.java

package servlet;

import java.io.IOException;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet("/LoginServlet")
public class MyServlet extends HttpServlet {
 
  Connection conn;
  String url = "jdbc:mysql://localhost:3306/TestDB";
  @Override
  public void init() throws ServletException {
        super.init();
  try{
        Class.forName("com.mysql.jdbc.Driver");
  }catch(ClassNotFoundException e){
     System.out.println(e);
  }
 }


 @Override
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
     
        response.setContentType("text/html");
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String message = null; 
        request.getSession().setAttribute("message",message);
   try {
        conn = DriverManager.getConnection(url, "root", "root");
        Statement stmt = conn.createStatement(); // 获取Statement
        String sql = "SELECT * FROM user WHERE name='" + username
    + "' AND pwd='" + password + "'"; // 查询用户信息的SQL语句
  ResultSet rs = stmt.executeQuery(sql); // 执行查询
  if (rs.next()) { // 有数据库中存在该用户
             request.getSession().setAttribute("username", username);
             rs.close();
             stmt.close();
             conn.close();
             response.sendRedirect("success.jsp");
           }
           else{
               message = "用户名或密码有误";
               request.getSession().setAttribute("message",message);
               response.sendRedirect("login.jsp");
            }
   } catch (SQLException e) {
      e.printStackTrace();
     }
   }
 }
请点击右边超链接:整个代码项目提供下载

0 0
原创粉丝点击