网页登录页面

6 篇文章 0 订阅
这是一个Java Web应用的登录实现示例,包括Users类的定义,DBUtil工具类用于数据库连接,以及SelectServlet处理登录请求。用户输入的用户名和密码通过HTTP POST提交到'select' Servlet,Servlet查询数据库验证登录信息。如果查询结果存在,则登录成功,否则失败。代码中使用了SQL Server数据库,JDBC进行数据操作,并实现了异常处理和资源关闭。
摘要由CSDN通过智能技术生成
package org.work.model;

public class Users {
	private int id;
	private String name;
	private String pwd;
	private int age;
	private String userName;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPwd() {
		return pwd;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	@Override
	public String toString() {
		return "Users [age=" + age + ", id=" + id + ", name=" + name + ", pwd="
				+ pwd + ", userName=" + userName + "]";
	}

	public Users(int id, String name, String pwd, int age, String userName) {
		super();
		this.id = id;
		this.name = name;
		this.pwd = pwd;
		this.age = age;
		this.userName = userName;
	}

	public Users() {
		super();
	}

	public Users(String name, String pwd, int age, String userName) {
		super();
		this.name = name;
		this.pwd = pwd;
		this.age = age;
		this.userName = userName;
	}

}

package org.work.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBUtil {
	static {
		try {

			// 加载jdbc驱动程序

			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		} catch (ClassNotFoundException e) {

			e.printStackTrace();
		}
	}

	public static Connection getConn() {
		Connection conn = null;
		try {
			// 使用DriverManager建立数据库连接

			conn = DriverManager.getConnection(
					"jdbc:sqlserver://127.0.0.1:1433;databaseName=consumer",
					"sa", "1");
		} catch (SQLException e) {
			System.err.println("连接失败");
		}

		return conn;

	}

	public static void getClose(PreparedStatement ps, ResultSet rs,
			Connection conn) {

		// 关闭资源

		try {
			if (ps != null) {
				ps.close();
			}
			if (rs != null) {
				rs.close();
			}
			if (conn != null) {
				conn.close();
			}
		} catch (SQLException e) {

			e.printStackTrace();
		}
	}
}

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">

		<title>My JSP 'index.jsp' starting page</title>
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<meta http-equiv="description" content="This is my page">
		<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
		<style type="text/css">
table {
	margin: 0 auto;
}

.login {
	margin: 0 auto;
}

a {
	text-decoration: none;
}
</style>

	</head>

	<body>
		<form action="select" accept="post">
			<table>

				<tr>
					<td>
						用户名:
					</td>

					<td>
						<input type="text" name="userName">
					</td>
				</tr>
				<tr>
					<td>
						密码:
					</td>

					<td>
						<input type="password" name="pwd">
					</td>
				</tr>
				<tr>

					<td colspan="2" class="login">
						<input type="submit" value="登录">
						<a href="index.jsp"><input type="button" value="未有账号?注册">
						</a>
					</td>
				</tr>
			</table>

		</form>
	</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>

    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>select</servlet-name>
    <servlet-class>org.work.test.SelectServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>select</servlet-name>
    <url-pattern>/select</url-pattern>
  </servlet-mapping>
</web-app>

package org.work.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.work.util.DBUtil;

public class SelectServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 1:首先把编码全部改为utf-8
		// 将请求中的编码改为utf-8
		request.setCharacterEncoding("utf-8");
		// 将响应中的编码改为utf-8
		response.setCharacterEncoding("utf-8");
		// 设置响应的显示格式(类型)
		response.setContentType("text/html");
		// 2:处理请求

		String pwd = request.getParameter("pwd");
		String userName = request.getParameter("userName");

		// 登录业务

		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		boolean isTrue = false;

		// 1.调用util包下的DBUtil.getConn();加载驱动并和数据库建立连接

		conn = DBUtil.getConn();

		try {

			// 2.准备一个sql语句

			String sql = "SELECT * FROM users WHERE user_name=? and pwd=?";

			// 3.使用prepareStatement访问数据库

			ps = conn.prepareStatement(sql);
			ps.setString(1, userName);
			ps.setString(2, pwd);
			// 5.使用ResultSet接收访问数据库的反馈结果

			rs = ps.executeQuery();

			if (rs.next()) {
				isTrue = true;
			} else {
				isTrue = false;
			}

		} catch (SQLException e) {

			e.printStackTrace();
		}

		// 7.调用util包下的getClose();方法关闭资源

		DBUtil.getClose(ps, rs, conn);

		// 3:处理响应
		PrintWriter out = response.getWriter();
		out
				.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		if (isTrue) {
			out.println("<h1 style='color:green'>登录成功!<h1>");
		} else {
			out.println("<h1 style='color:red'>登录失败!<h1>");
		}
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}
}


最后效果如下图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值