【深夜放毒,记录生活^_^】 |
学了HTML之后 , 一直想写一个能够实现登录功能的小网页 ,终于……现在开始学习数据库,经过查阅资料,创建了很简单的一个java web小项目来实现登陆操作,界面不怎么美观,大家见笑了,哈哈。
首先,我们先进行准备工作:下载连接数据库的jar包,这里我用百度网盘分享给大家吧 - -> MySQ的jar包点我!提取码:v5sd
SQL server的点我!提取码:ra6f
下载完之后请记住路径,我们创建一个java web项目,请打开eclipse 新建项目 – >新建一个动态的java web 项目;
这里我给它起名就叫做Test_01,哈哈
然后,打开项目,接着依次打开WebContent – > WEB-INF目录
将刚才下载好的jar包放入其中,我们直接copy过来即可,然后我们发现项目中多了这个,代表导入成功,恭喜你!
然后我们先利用java文件来连接数据库,打开项目列表中的src文件夹(新建两个包,如下图):
然后我们在包com.test.dao里面创建两个java文件,一个是Test.java, 一个是UserDao.java
Test.java代码如下:
public class Test {
private int id;
private String name;
private int number;
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 int getAge() {
return number;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public void setAge(int age) {
this.number = age;
}
private Test()
{
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.chap01.dbuitl.DBConnect;
public class UserDao {
private Test test;
public Test getTest() {
return test;
}
public void setTest(Test test) {
this.test = test;
}
@SuppressWarnings("null")
public static void main(String[] args) throws SQLException {
DBConnect dbConnect = new DBConnect();
Connection connection = dbConnect.getConnection();
Statement statement = null;
try {
statement = connection.createStatement();
}catch(SQLException e)
{
e.printStackTrace();
}
ResultSet resultSet = null;
int resultSet2 = 0;
String sql2 = "insert into zhang(id) values('8')"; //插入
try
{
resultSet2 = statement.executeUpdate(sql2);
}catch(SQLException e)
{
e.printStackTrace();
}
while(resultSet2 > 0) //返回值:受影响的行数;
{
System.out.println("插入成功!");
break;
}
String update = "update zhang set name =2 where id = 8"; //更新
int result = 0;
try
{
result = statement.executeUpdate(update);
}catch(SQLException s)
{
s.printStackTrace();
}
while(result > 0)
{
System.out.println("更新成功!");
break;
}
String del = "delete from zhang where id=8"; //刪除
int ResultSet = 0;
try
{
ResultSet = statement.executeUpdate(del);
}catch(SQLException d)
{
d.printStackTrace();
}
while(ResultSet > 0)
{
System.out.println("刪除成功!");
break;
}
String sql = "SELECT *FROM zhang where id>0";
try
{
resultSet = statement.executeQuery(sql);
}catch(SQLException e)
{
e.printStackTrace();
}
try
{
while(resultSet.next())
{
int number = resultSet.getInt("id");
String name = resultSet.getString("name");
int number2 = resultSet.getInt("number");
int phone1 = resultSet.getInt("phone1");
int phone2 = resultSet.getInt("phone2");
String phone3 = resultSet.getString("mobilePhone"); //verchar 类型的数据直接用String类型的变量接收;
String home = resultSet.getString("home");
System.out.print("编号: " + number);
System.out.print(" 名字: " + name);
System.out.print(" 学号: " + number2);
System.out.print(" 电话号码: " + phone1 + phone2);
System.out.print(" 家乡: " + home);
System.out.println(" 手机号码: " + phone3);
}
resultSet.close();
}catch(SQLException q)
{
q.printStackTrace();
}
}
}
package com.chap01.dbuitl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBConnect {
private static String DBDriver = "com.mysql.jdbc.Driver";
private static String DBUrl = "jdbc:mysql://localhost:3306/usertest"; //最后面usertest是数据库的名字
private static String DBUser = "root";
private static String DBPass = ""; //在这里填写你的密码
private static Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
static {
try {
Class.forName(DBDriver);
System.out.println("连接数据库中···");
}catch(ClassNotFoundException e)
{
e.printStackTrace();
}
}
public static Connection getConnection() { //与数据库建立连接的方法
try {
connection = DriverManager.getConnection(DBUrl, DBUser, DBPass);
System.out.println("数据库连接成功");
}catch(SQLException e) {
System.out.println("失败");
e.printStackTrace();
}
return connection;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
然后呢,我们打开右击WebContent文件夹,新建几个jsp文件 (login.jsp是登陆页面 , deal.jsp是进行登陆的处理界面,main.jsp是登陆成功的界面,error.jsp是登录失败的界面)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 登录界面 -->
<h1>欢迎使用登录管理系统!</h1>
<!-- action 提交请求的地址 method 处理请求的方式 -->
<form action="deal.jsp" method="post">
<table>
<tr>
<td>请输入你的账号</td>
<td>
<input type="text" name="userName"/>
</td>
</tr>
<tr>
<td>请输入你的密码</td>
<td>
<input type="password" name="userPwd"/>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit"/>
</td>
</tr>
</table>
</form>
</body>
</html>
很简单的一个登录界面,接下来我们继续,修改处理文件deal.jsp的代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
//获取用户输入的账号和密码
String username = request.getParameter("userName");
String password = request.getParameter("userPwd");
String DBDriver = "com.mysql.jdbc.Driver";
String DBUrl = "jdbc:mysql://localhost:3306/usertest"; //最后是数据库的名字
String DBUser = "root";
String DBPass = ""; //数据库密码
//根据获得的用户名到数据库查找用户
Connection c = null;
try{
Class.forName("com.mysql.jdbc.Driver");
c = DriverManager.getConnection(DBUrl, DBUser, DBPass);
out.print(username);
String sql = "select * from zhang where number = '" + username + "'";
PreparedStatement st = c.prepareStatement(sql);
ResultSet rs = st.executeQuery();
//判断用户是否存在
if(rs.next()){
//获取密码
String pwd = rs.getString("mobilephone");
//判断密码是否相同
if(!pwd.equals(password)){
response.sendRedirect("error.jsp");//密码错误跳转error界面
}
response.sendRedirect("main.jsp");
}else{
response.sendRedirect("error.jsp");
}
}catch(Exception e){
e.printStackTrace();
}
%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h4>Error!</h4>
<br>
<h4>学号不存在!对不起,你不是我们的人员!即将跳转登陆页面!</h4>
//5秒后跳转到登录页面
<% response.setHeader("refresh","5;url=login.jsp"); %>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body style="background-color:lightblue">
<%
out.println("Welcome!" );
%>
</body>
</html>