首頁 > 軟體

JavaWeb之Servlet註冊頁面的實現範例

2022-04-11 13:00:21

Servlet-註冊頁面

環境準備:

本文所用到環境如下:

軟體:Eclipse(2018)

伺服器:Tomcat 9

在index.jsp新增相關的程式碼

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>

<h1>使用者註冊</h1>
<div>
    <form action="RegisterServlet" method="get">
    <table>
    <tr>
    <td>登入名:</td> 
    <td><input type="text" name="username" required> (可包含a-z、0-9和下劃線)</td>
    </br>
    <tr>
    <td>密碼:</td> 
    <td><input type="password" name="password" required> (至少包含6個字元)</td>
    </tr>
    <tr>
    <td>再次輸入密碼:</td> 
    <td><input type="password" name="confirmPassword" required></td>
    </tr>
    <tr>
    <td>電子郵箱:</td> 
    <td><input type="text" id="email" name="youxaing" required> (必須包含@字元)</td>
    </tr>
    <tr>
    <td>性別:</td> 
    <td><input type="radio" name="gender" value="男" required>男
        <input type="radio" name="gender" value="女" required>女</td>
    </tr>
     <td>頭像:</td> 
    <td><input type="file" name="bfile" value="選擇檔案" accept="image/*" ></td>
    </tr>
     <td>愛好:</td> 
    <td>
    <p>
   	  <input type="checkbox" name="hobby" value="運動"> 運動
      <input type="checkbox" name="hobby" value="聊天" > 聊天
      <input type="checkbox" name="hobby" value="玩遊戲" > 玩遊戲</p>
      
    </td>
    </tr>
   
     </tr>
     <td>喜歡的城市:</td> 
    <td>
         <select name="selectList">
         <option>[請選擇]</option>
         <option>北海</option>
         <option>海南</option>
         <option>重慶</option>
         <option>杭州</option>
         <option>深圳</option>
         <option>成都</option>
     	 </select>
    </tr>    
    </table>
    <div>
    <p>
       <input type="submit" value="提交">
       <input type="reset" value="重置">
     </p>
     </div>
    </form>
</div>

</body>
</html>

效果為:

Login_Servlet.java程式碼

package onlyxiu_ceshi.com;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * Servlet implementation class Login_Servlet
 */
@WebServlet("/Login_Servlet")
public class Login_Servlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Login_Servlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		response.getWriter().append("Served at: ").append(request.getContextPath());
		
		
		 request.setCharacterEncoding("UTF-8");//處理亂碼問題
	        response.setCharacterEncoding("UTF-8");//處理亂碼問題
	        //獲得使用者在register介面提交的資料
	        String username = request.getParameter("username");
	        String password = request.getParameter("password");
	        String confirmPassword = request.getParameter("confirmPassword");
	        String gender = request.getParameter("gender");
	        String youxaing = request.getParameter("youxaing");
	        String bfile = request.getParameter("bfile");
	        String hobby  = request.getParameter("hobby");
	        String selectList = request.getParameter("selectList");
	        //判斷密碼是否正確
	        if (password.equals(confirmPassword)){//如果密碼相同,重定向到成功介面
	            HttpSession session = request.getSession();//獲取session
	            session.setAttribute("session_username",username);
	            session.setAttribute("session_password",password);
	            session.setAttribute("session_gender",gender);
	            session.setAttribute("session_youxaing",youxaing);
	            session.setAttribute("session_bfile",bfile);
	            session.setAttribute("session_hobby", hobby);
	            session.setAttribute("session_selectList",selectList);
	           
	            request.getRequestDispatcher("SuccessServlet").forward(request, response);
	          //  response.sendRedirect("register_login.jsp");//重定向到成功頁面
	        }else {//如果密碼不同,通知使用者密碼輸入不一樣
	            request.getSession().setAttribute("passwordError","yes");
	            request.getRequestDispatcher("ErrorServlet").forward(request, response);
//	            response.sendRedirect("register.jsp");//重定向到登陸介面
	        }
	    }
	

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

設定web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>onlyxiu_ceshi</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
    <servlet-name>Login_Servlet</servlet-name>
    <servlet-class>onlyxiu_ceshi.com</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Login_Servlet</servlet-name>
    <url-pattern>/onlyxiu_ceshi/Login_Servlet</url-pattern>
  </servlet-mapping>
  
</web-app>

ErrorServlet.java的程式碼

package onlyxiu_ceshi.com;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;

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

/**
 * Servlet implementation class ErrorServlet
 */
@WebServlet("/ErrorServlet")
public class ErrorServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ErrorServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		response.getWriter().append("Served at: ").append(request.getContextPath());
		
		response.setHeader("Content-type","text/html; charset=UTF-8");
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String gender = request.getParameter("gender");
		String youxaing = request.getParameter("youxaing");
		String bfile = request.getParameter("bfile");
		String hobby = request.getParameter("hobby");
		String selectList = request.getParameter("selectList");
		PrintWriter out = response.getWriter();
		out.print("<h1>使用者註冊資訊</h1>");
		out.print("使用者名稱:n"+username+"<br>");
		out.print("密碼:"+password+"<br>");
		out.print("電子郵箱:"+youxaing+"<br>");
		out.print("性別:"+gender+"<br>");
		out.print("頭像:"+bfile+"<br>");
		out.print("愛好:"+hobby+"<br>");
		out.print("喜歡的城市:"+selectList+"<br>");
//		out.print("登陸失敗");
		out.close();
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		doGet(request, response);
	}

}

SuccessServlet.java

package onlyxiu_ceshi.com;

import java.io.IOException;
import java.io.PrintWriter;

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

/**
 * Servlet implementation class SuccessServlet
 */
@WebServlet("/SuccessServlet")
public class SuccessServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public SuccessServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		response.getWriter().append("Served at: ").append(request.getContextPath());
		response.setHeader("Content-type","text/html; charset=UTF-8");
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String gender = request.getParameter("gender");
		String youxaing = request.getParameter("youxaing");
		String bfile = request.getParameter("bfile");
		String hobby = request.getParameter("hobby");
		String selectList = request.getParameter("selectList");
		PrintWriter out = response.getWriter();
		out.print("<h1>使用者註冊資訊</h1>");
		out.print("使用者名稱:n"+username+"<br>");
		out.print("密碼:"+password+"<br>");
		out.print("電子郵箱:"+youxaing+"<br>");
		out.print("性別:"+gender+"<br>");
		out.print("頭像:"+bfile+"<br>");
		out.print("愛好:"+hobby+"<br>");
		out.print("喜歡的城市:"+selectList+"<br>");
//		out.println("登陸成功");
		out.close();
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		doGet(request, response);
	}

}

 到此這篇關於JavaWeb之Servlet註冊頁面的實現範例的文章就介紹到這了,更多相關Servlet註冊頁面內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com