url override implements session
阿新 • • 發佈:2018-12-02
url 重寫實現會話概述
URL重寫是對GET請求引數的應用,當伺服器響應瀏覽器上一次請求時,將某些相關資訊以超連結方式響應給瀏覽器,超連結中包括請求引數資訊。
特點:URL必須以GET方式傳送請求。
缺點:URL在某些瀏覽器上最大長度為2000字元;不適用敏感資料的傳遞。
應用:最典型應用是分頁、輔助會話管理。
example
package com.test; 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 java.io.IOException; import java.io.PrintWriter; @WebServlet("/search") public class Search extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<meta charset='UTF-8'>"); out.println("<title>搜尋結果</title>"); out.println("</head>"); out.println("<body>"); String start = request.getParameter("start"); if (start == null) { start = "1"; } int count = Integer.parseInt(start); int begin = 10 * count - 9; int end = 10 * count; out.println("第" + begin + "到" + end + "搜尋結果:<br>"); for (int i=1; i<10; i++) { if (i == count) { out.println(i); continue; } out.println("<a href='search?start=" + i + "'>" + i +"</a>"); } out.println("</body>"); out.println("</html>"); out.close(); } }
響應結果: