在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: <input type="text" name="username" /><br><br>
password: <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: <input type="text" name="username" /><br><br>
input your password: <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>