您的位置:首页 > 其它

简易搭建servlet登录

2019-06-16 18:28 1411 查看

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: