javaweb 简单的注册登录功能

在tomcat服务器上通过jsp与servlet相互跳转实现最简单的登录与注册功能
在这里插入图片描述

登录功能

login.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>txt online</title>
</head>
<body>
<form action="Login" method="post">
  username:&nbsp<input type="text" name="username" /><br><br>
  password:&nbsp<input type="password" name="password" /><br><br>
  <input type="submit" value="login" />
  <input type="button" value="register" onclick="javascript:location.href='register.jsp'"/>
</form>
</body>
</html>

Login.java

import java.io.IOException;
import java.sql.*;

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

/**
 * Servlet implementation class Login
 */
@WebServlet("/Login")
public class Login extends HttpServlet {
	private static final long serialVersionUID = 1L;
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Login() {
        super();
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String username=request.getParameter("username");
		String password=request.getParameter("password");
		String sql_getpassword="select password from txt_user where username=?";
		try {
			DriverManager.registerDriver(new org.postgresql.Driver());
			Connection con=DriverManager.getConnection("jdbc:postgresql://****/postgres","postgres","*");
			PreparedStatement pstmt=null;
			pstmt=con.prepareStatement(sql_getpassword);
			pstmt.setString(1,username);
		    ResultSet re=pstmt.executeQuery();;
		    String getpassword=null;
		    while(re.next()) {
		    getpassword=re.getString("password");
		    }
			if(getpassword!=null&&getpassword.equals(password)) {
				request.setAttribute("x","welcome "+username);
				request.getRequestDispatcher("user.jsp").forward(request, response);
		    }
			else {
				request.setAttribute("x","Wrong username or password!");
				request.getRequestDispatcher("user.jsp").forward(request, response);
			}
			pstmt.close();
			con.close();
		}
	    catch(Exception e) {
		   e.printStackTrace();
	    }
	}
	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

user.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%String one=request.getAttribute("x").toString();
out.println(one);%>
</body>
</html>

注册功能

register.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>register</title>
</head>
<body>
<form action="Register" method="post">
  input your username:&nbsp<input type="text" name="username" /><br><br>
  input your password:&nbsp<input type="password" name="password" /><br><br>
  <input type="submit" value="register" />
</form>
</body>
</html>

Register.java

import java.io.IOException;
import java.sql.*;

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

/**
 * Servlet implementation class Register
 */
@WebServlet("/Register")
public class Register extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Register() {
        super();
    }
	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String username=request.getParameter("username");
		String password=request.getParameter("password");
		String sql_CreateUser="insert into txt_user values(?,?,null)";
		try {
			DriverManager.registerDriver(new org.postgresql.Driver());
			Connection con=DriverManager.getConnection("jdbc:postgresql://***.***.***.***/postgres","postgres","******");
			PreparedStatement pstmt=con.prepareStatement(sql_CreateUser);
			pstmt.setString(1,username);
			pstmt.setString(2,password);
			pstmt.execute();
		}
		catch(Exception e) {
			response.sendRedirect(request.getContextPath()+"/reg_wrong.jsp");
		}
	}
	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

reg_wrong.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Register wrong</title>
</head>
<body>
Register faild
</body>
</html>
发布了11 篇原创文章 · 获赞 11 · 访问量 784

猜你喜欢

转载自blog.csdn.net/weixin_45458577/article/details/104431538