前期呢,我们学习了javaweb项目用JDBC连接数据库,还有数据库的建表功能,今天,我们来看一下javaweb实现登录注册功能实例,javaweb项目使用的工具是eclipse,最后把项目部署在了Tomcat中,连接数据库使用的是Mysql数据库。
我们先来看一下web.xml的配置文件:
System01
login.jsp
form
com.demo..FormServlet
form
/form
web.xml是前端的jsp页面和后台的Servlet类交互的一个配置文件,我们可以设置启动页面,还有与页面对应的类Servlet。
然后就是jsp页面login.jsp:
pageEncoding="utf-8"%>
网络交友
网络交友
记住密码
登 录
在login页面进行输入用户名和密码进行登录,同时也有一个注册的按钮,点击即可进行注册,注册的页面,即ZhuCe.jsp的模样和login.jsp差不多,是通过用户名和密码进行注册的,还有登录成功loginSuccess.jsp、注册成功index.jsp的页面,可以在页面上写上登录成功、注册成功四个字,代表我们的登录和注册已经成功了。
最后就是Servlet类FromServlet.class:
package com.demo;
import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;
import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;
public class FormServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public static Connection conn = null;
/**
* 重写service方法 处理前台传过来的数据和处理成功后跳转页面
*/
@Override
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 设置客户端的格式
request.setCharacterEncoding("utf-8");
// 获取Login.Jsp中控件输入的值
String name = request.getParameter("username");
String pwd = request.getParameter("password");
System.out.println("姓名:" + name);
System.out.println("密码:" + pwd);
// 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名study
String url = "jdbc:mysql://127.0.0.1:3306/study";
String user = "root"; // MySQL配置时的用户名
String password = "123456"; // MySQL配置时的密码
try {
// 加载驱动程序
Class.forName(driver);
// 连接数据库
Connection conn = DriverManager.getConnection(url, user, password);
if (!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
// statement用来执行sql语句
Statement statement = conn.createStatement();
// 写sql一定要注意
String sql = "select * from user where username = " + "'" + name + "'";
System.out.println(sql);
// sql执行的结果集
ResultSet rs = statement.executeQuery(sql);
if (rs.next()) {
String pwdStr = null;
// 选择pwd这列数据
pwdStr = rs.getString("pwd");
System.out.println(pwdStr);
if (rs.getString("pwd").equals(pwd)) {
// 登录成功跳转的页面
response.sendRedirect("./loginSucess.jsp");
}
} else {
String sqlStr = "insert into user(username,pwd) values('" + name + "','" + pwd + "')";
Statement MyStatement;
try {
MyStatement = conn.createStatement();
MyStatement.executeUpdate(sqlStr);
System.out.println("添加成功");
// 注册成功后跳转的页面
response.sendRedirect("./index.jsp");
} catch (Exception e) {
System.out.println("添加失败");
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}}
在FromServlet类中,我们可以通过用户名、密码和数据库名进行连接Mysql数据库,同时也可以连接其他数据库,比如Oracle等,还有登录、注册成功跳转的页面。
通过以上的描述,大家学会javaweb实现登录注册功能了吗,如果学会了,就赶紧行动起来吧!