JAVA Web实现注册登录系统

最近因为项目需要写一个数据库的展示系统,之前没有接触过java web 的开发也是bijaio头疼。经过一周的辗转终于勉强完成了一个简单的原型系统,话不多说,上干货。(Eclipse!)


一:没有使用过java web的,第一步要在你的eclipse里面下载web插件。

(1)在eclipse导航栏找到Help——>Install new software

(2)查看你的eclipse版本:找到eclipse安装路径下reademe文件夹下的HTML文件打开, 查看版本号

         这里我用的是oxygen版本,大家根据自己的版本号到网上搜查自己对应要下载的版本

(3)在地址栏如下输入

         稍等一会会自动跳出(拉到最下面选择web、XML、java EE、and OSGI Enterprise Development)

可以全选或者根据需要选择其中几个(我当时是选择所有下载但是出现问题,最后只选择了几个需要的,大家可以去 查找正常web开发需要的那几个)可能还会有人没有这个选项卡,Emmm自行百度吧,我没遇到。

(4)然后就是等待下载了,但是我在这个地方卡住了很久,希望读者不要像我一样,如果遇到,站内大佬们也给出了很多解答。下载成功的就可以根据向导的默认来安装。

二:配置Tomcat

这里我选择的是Tomcat9。配置方法站内大佬们也都有很多文章来帮助大家,读者可以自行查找配置。

三:新建Dynamic Web Project

File——> new——>other——>Web——>Dynamic Web Project 

 

输入项目名称,注意Target runtime 在下拉框选择刚刚安装好的Tomcat9。一路next下去,如果有需要的可以根据提示更改。

注意:这个Generate web.xml选项一定要勾上!!

大家可以先展开项目,看看里面的结构。 正常会使用到的就是在java resources下的某个包中新建class、Servlet等后台文件。

其次就是在WebContent下新建前端jsp、js等文件。

 四:配置JDBC,连接数据库(SQL server)

因为项目用的是SQL server,因此我使用的是连接SQL server的jdbc,大家根据需要自行下载并配置jdbc。

前提是先将自己的SQL server数据库配置好啊!!

可以用SSMS来管理自己的SQL。

记得要在SQL 中新建一个t_user表来存储注册的用户信息啊!!

 五:下面就是大家最想要的代码啦!!

(1)DbUtil.java:获取数据库连接

import java.sql.Connection;
import java.sql.DriverManager;

public class DbUtil{
 
	//这里更换成自己的数据库和用户密码
	private String dbUrl="jdbc:sqlserver://localhost:1433;DatabaseName=aaa";
	private String dbUserName="zxc";
	private String dbPassword="zxc123456";
	
	private String jdbcName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
	
	//获取数据库
	public Connection getCon() throws Exception{
		Class.forName(jdbcName);
		Connection con=DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
		return con;
	}
	
	//关闭数据库
	public void closeCon(Connection con) throws Exception{
		if(con!=null) {
			con.close();
		}
	}
	
	 
	public static void main (String[] args) {
		DbUtil dbUtil=new DbUtil();
		try {
			dbUtil.getCon();
			System.out.println("数据库连接成功");
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
}

 

(2)Operation.java:

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

/**
 * 对数据库进行操作的后台程序
 */
 public class Operation{
	 
	 public user login(Connection con,user user) throws Exception{
		  
		 user resultUser=null;
		 
		 String sql="select *from dbo.t_user where userName=? and password=?";
		 PreparedStatement pstmt=con.prepareStatement(sql);
		 
		 pstmt.setString(1, user.getUserName());
		 pstmt.setString(2, user.getPassword());
		 ResultSet rs=pstmt.executeQuery();
		 
		 if(rs.next()) {
			 
			 resultUser=new user();
			 resultUser.setUserName(rs.getString("userName"));
			 resultUser.setPassword(rs.getString("password"));
			 rs.close();
		 }
		 return resultUser;
	 }
	 
	 public boolean register(Connection con,user user) throws Exception{
		 boolean flag=false;
		 PreparedStatement pstmt=null;
		 String sql="INSERT INTO dbo.t_user(userName,password)VALUES(?,?)";
		 pstmt=con.prepareStatement(sql);
		 pstmt.setString(1, user.getUserName());
		 pstmt.setString(2, user.getPassword());
		 if(pstmt.executeUpdate()>0) {
			 flag=true;
		 }
		 return flag;
	 }
 }

 (3)LoginServlet.java:

import java.io.IOException;
import java.sql.Connection;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req,HttpServletResponse resp) throws
	ServletException,IOException{
		this.doPost(req, resp);
	}
	
	@Override
	protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws
	ServletException,IOException{
		/**
		 * 接受前台的值 账号和密码
		 */
		String userName=req.getParameter("userName");
		String password=req.getParameter("password");
		
		DbUtil db=new DbUtil();
		user user1=new user(userName,password);
		Operation dao=new Operation();
		try {
			//数据连接
			Connection con=db.getCon();
			 
			if(dao.login(con,user1)!=null) {
				 
				resp.sendRedirect("Home.jsp");
			}
			else {
				 
				resp.sendRedirect("register.jsp");
			}
		}catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}

(4)RegisterServlet.java:

import java.io.IOException;
import java.sql.Connection;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/RegisterServlet")
 public class RegisterServlet extends HttpServlet{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@Override
	protected void doGet(HttpServletRequest req,HttpServletResponse resp)throws
	ServletException,IOException{
		this.doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws
	ServletException,IOException{
		//接受前台传来的值 账号和密码
		String userName=req.getParameter("username");
		String password=req.getParameter("password1");
		
		DbUtil db=new DbUtil();
		user user=new user(userName,password);
		Operation dao=new Operation();
		try {
			Connection con=db.getCon();
			 
			if(dao.register(con, user)) {
				resp.sendRedirect("login.jsp");
			}
			else {
				resp.sendRedirect("register.jsp");
			}
		}catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

(5)user.java:读取用户


public class user {

	public String userName;
	public String passWord;
	
	public user() {}
	
	public user(String userName,String password) {
		this.userName=userName;
		this.passWord=password;
	}
	
	public String getUserName() {
		return userName;
	}
	
	public void setUserName(String userName) {
		this.userName=userName;
	}
	
	public String getPassword() {
		return passWord;
	}
	
	public void setPassword(String password) {
		this.passWord=password;
	}
}

(6)login.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"
    %>

<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>装备保障原型系统</title>
<link href="static/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
 <nav class="navbar navbar-default">
  <div class="container-fluid">
   <div class="navbar-header">
      <a class="navbar-brand" href="./">装备保障原型系统</a>
 
   </div>
   <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav navbar-right">
      <li><a href="login.jsp">登录</a></li>
      </ul>
   </div>
  </div>

 </nav>
 <div class="container">
    <div class="row">
        <div class="col-md-4">

        </div>
        <div class="col-md-4">
            <form class="form-signin" method="post" action="LoginServlet">
               <div style="width:100%;text-align:center">
                <h2 class="form-signin-heading"  >欢迎登录! </h2>
                 </div>
                <label for="">用户名</label>
                <input type="text" name="userName" id="userName" class="form-control" placeholder="请输入用户名" required autofocus><br>
                <label for="">密码</label>
                <input type="password" name="password" id="password" class="form-control" placeholder="请输入密码" required>
                <div class="checkbox">
                    <label>
                        <input type="checkbox" value="remember-me" checked="checked"> 记住密码
                    </label>
                </div>
                <button type="submit" class="btn btn-primary" id="btn-login">登录</button>
                <a href="register.jsp" class="btn btn-default">注册</a>
            </form>
        </div>
        <div class="col-md-4">
        </div>
    </div> 
 
 </div>
 

</body>
</html>

(7)register.jsp:

<%@ page contentType="text/html; charset=utf-8" language="java"%>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>注册</title>
    <link href="static/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-default">
    <div class="container-fluid">
        <div class="navbar-header">
            <a class="navbar-brand" href="./">装备保障原型系统</a>
        </div>
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav navbar-right">
                <li><a href="login.jsp">登录</a></li>
            </ul>
        </div>
    </div>
</nav>
<div class="container">
    <div class="row">
        <div class="col-md-4">
        </div>
        <div class="col-md-4">

            <form class="form-signin" action="RegisterServlet" method="post">
                <div style="width:100%;text-align:center">
                 <h2 class="form-signin-heading">欢迎注册!</h2>
                </div>
               
                <div id="info">

                </div>
                <label for="">用户名</label>
                <input type="text" name="username" id="username" class="form-control" placeholder="请输入用户名" required autofocus><br>
                <label for="">密码</label>
                <input type="password" name="password1" id="password1" class="form-control" placeholder="请输入密码" required><br>
                <label for="">重复密码</label>
                <input type="password" name="password2" id="password2" class="form-control" placeholder="请再次输入密码" required maxLength="16"><br>
                <button type="submit" class="btn btn-primary" id="btn-reg" onclick=submit()>注册</button>
                <a href="login.jsp" class="btn btn-default" id="btn-reg">返回登录</a>
            </form>
           
            
        </div>
        <div class="col-md-4">
        </div>
    </div>
    </div>
</body>
</html>

(8)home.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>装备保障原型系统</title>
</head>
<body>
 <form class="form-signin" method="post" action="LoginServlet">
               <div style="width:100%;text-align:center">
                <h2 class="form-signin-heading"  >装备保障原型系统</h2>
                 </div>
</form>
</body>
</html>

(9)jsp代码中使用了一些bootstrap来修饰页面,使用前需要先将bootstrap下载并导入项目,同时需要将JQuery包一并导入进去。

下面给大家看一下项目结构:(static文件夹自己新建,大家可以根据这两个文件名去网上下载,然后把这两个包导入)

六:执行结果图 

(1)

(2) 


新手上车,互进互勉!

发布了11 篇原创文章 · 获赞 19 · 访问量 633

猜你喜欢

转载自blog.csdn.net/z_x_c_/article/details/103343970