200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Java web连接数据库实现登录功能 ; jsp连接MySQL或SQL server数据库的jar包也在这里哦!

Java web连接数据库实现登录功能 ; jsp连接MySQL或SQL server数据库的jar包也在这里哦!

时间:2024-04-02 06:52:39

相关推荐

Java web连接数据库实现登录功能 ; jsp连接MySQL或SQL server数据库的jar包也在这里哦!

学了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}}

UserDao.java代码如下(进行查询,插入,删除,修改操作):

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();}}}

紧接着,我们在com.test.dbutil包中新建Java文件DBConnect.java,代码如下:

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}}

我们来看一下我的数据库信息:数据库uesrtest中有一个表“zhang”表中数据如下:我们可以看到有七个字段,对应上面的代码,现在我们运行一下UserDao.java,如下图:运行结果如下:好的我们数据库连接成功并未已经获取到其中的数据信息,接下来我们要用jsp文件来实现登录的操作,步骤如下:

然后呢,我们打开右击WebContent文件夹,新建几个jsp文件 (login.jsp是登陆页面 , deal.jsp是进行登陆的处理界面,main.jsp是登陆成功的界面,error.jsp是登录失败的界面)

修改login.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>

接着我们修改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><h4>Error!</h4><br><h4>学号不存在!对不起,你不是我们的人员!即将跳转登陆页面!</h4>//5秒后跳转到登录页面<% response.setHeader("refresh","5;url=login.jsp"); %></body></html>

接下来就剩登陆成功的界面,修改登陆成功的main.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 style="background-color:lightblue"><%out.println("Welcome!" );%></body></html>

到此我们已经完成,看一下效果:

这里只做一个小小的示范,大家可以自己修改一下界面让界面更美观,也可以添加其他的功能,比如利用转发来处理账号错误和密码错误的情况并进行反馈到用户。新手上路,请多多关照!谢谢大家的支持,感谢观看!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。