简易搭建servlet登录

1.创建项目

右键Package Explorer空白处----new----other

在这里插入图片描述
2.mysql的jar包引入项目
在这里插入图片描述
3.设置JDBC连接

新建包文件内新建db.properties
在这里插入图片描述

//文件内写入
jdbcName=com.mysql.jdbc.Driver
dbName=数据库用户名
dbPwd=数据库密码
dbUrl=jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=UTF-8

新建DBUtil.java
在这里插入图片描述

//内附代码
package xyz.xkun.Util;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;

import com.sun.xml.internal.ws.Closeable;

public class DBUtil {
	public static Connection getConnection() {
		Connection connection = null;

		try {
			InputStream inputStream = DBUtil.class.getClassLoader().getResourceAsStream("db.properties");
			Properties properties = new Properties();
			properties.load(inputStream);

			String jdbcName = properties.getProperty("jdbcName");
			String dbName = properties.getProperty("dbName");
			String dbPwd = properties.getProperty("dbPwd");
			String dbUrl = properties.getProperty("dbUrl");

			Class.forName(jdbcName);

			connection = DriverManager.getConnection(dbUrl, dbName, dbPwd);
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return connection;
	}

	public static void close(Connection connection, PreparedStatement pStatement, ResultSet resultSet) {
		try {
			if (resultSet != null) {
				resultSet.close();
			}
			if (pStatement != null) {
				resultSet.close();
			}
			if (connection != null) {
				connection.close();
			}
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

	public static void main(String[] args) {
		System.out.println(getConnection());
	}
}

4.新建用户javabean

新建用户类

package xyz.xkun.User;

public class User {
	private Integer uid;
	private String uname;
	private String upwd;
	private String uinfo;

	public Integer getUid() {
		return uid;
	}

	public void setUid(Integer uid) {
		this.uid = uid;
	}

	public String getUname() {
		return uname;
	}

	public void setUname(String uname) {
		this.uname = uname;
	}

	public String getUpwd() {
		return upwd;
	}

	public void setUpwd(String upwd) {
		this.upwd = upwd;
	}

	public String getUinfo() {
		return uinfo;
	}

	public void setUinfo(String uinfo) {
		this.uinfo = uinfo;
	}

}

5.编写Servlet

@WebServlet("/login") 进行访问的地址

package xyz.xkun.servlet;
/*
 * Servlet implementation class servlet1
 */
@WebServlet("/login")
public class servlet1 extends HttpServlet {
	private static final long serialVersionUID = 1L;

	@Override
	protected void service(HttpServletRequest request1, HttpServletResponse response2)
			throws ServletException, IOException {
		// TODO Auto-generated method stub

		String uname = request1.getParameter("uname");
		String upwd = request1.getParameter("upwd");
		System.out.println(uname + "===========" + upwd);
		response2.setContentType("application/json;charset=UTF-8");

		if (uname.isEmpty() || upwd.isEmpty()) {
			response2.getWriter().write("{\"code\":0,\"msg\":\"用户名或密码为空!\"}");
			return;
		}
		User user = findUserHava(uname);

		if (user == null) {
			response2.getWriter().write("{\"code\":0,\"msg\":\"没有此用户!\"}");
			return;
		}
		if (!user.getUpwd().equals(upwd)) {
			response2.getWriter().write("{\"code\":0,\"msg\":\"用户密码错误\"}");
			return;
		}
		response2.getWriter().write("{\"code\":1,\"msg\":\"恭喜你!登录成功\"}");
	}

	static User findUserHava(String uname) {
		// TODO Auto-generated method stub
		User user = null;
		Connection connection = null;
		PreparedStatement pStatement = null;
		ResultSet resultSet = null;
		try {
			 connection = DBUtil.getConnection();
			 String sql = "select * from fk_user where uname=?";
			 pStatement = connection.prepareStatement(sql);
			 pStatement.setString(1, uname);
			 resultSet = pStatement.executeQuery();
			 while (resultSet.next()) {
				 user = new User();
				 user.setUid(resultSet.getInt("uno"));
				 user.setUname(resultSet.getString("uname"));
				 user.setUpwd(resultSet.getString("upwd"));
				 user.setUinfo(resultSet.getString("uinfo"));
			 }
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		} finally {
			DBUtil.close(connection, pStatement, resultSet);
		}

		return user;
	}

}

6.html文件

这里是引用

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="statics/js/jquery-3.3.0.min.js"></script>
</head>

<body>

	<label for="uname">名称</label>
	<input type="text" id="uname" placeholder="请输入名称">
	<label for="upwd">密码</label>
	<input type="password" id="upwd" placeholder="请输入密码">
	<button type="button" onclick="checkForm()">提交</button>
	&nbsp; &nbsp;
	<span id="msg"></span>
</body>
	<script>
		function checkForm() {
			var uname = $("#uname").val();
			var upwd = $("#upwd").val();

			if(checkTFS(uname) || checkTFS(upwd)) {
				console.log("用户名或密码为空!");
				return;
			};
			$.ajax({
				type: "post",
				url: "login",//就是servlet的@WebServlet("/login"),两个相同才能互相引用
				async: true,
				data: {
					uname: uname,
					upwd: upwd
				},success:function(data){
					if(data.code == 1){
						window.location.href="true.html"
					}else{
						console.log(data);
						$("#msg").html(data.msg);
					}
				}
			});

		}

		function checkTFS(str) {
			if(str == null || str.trim() == "") {
				return true;
			}
			return false;
		}
	</script>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值