servlet url重写
If the client has disabled cookies in the browser then session management using cookie wont work. In that case URL Rewriting can be used as a backup. URL rewriting will always work.
如果客户端在浏览器中禁用了cookie,则使用cookie的会话管理将无法工作。 在这种情况下, URL重写可以用作备份。 URL重写将始终有效。
In URL rewriting, a token(parameter) is added at the end of the URL. The token consist of name/value pair seperated by an equal(=)
sign.
在URL重写中,令牌(参数)被添加到URL的末尾。 令牌由以equal(=)
分隔的名称/值对组成。
For Example:
例如:
![using url rewriting for session management](https://i-blog.csdnimg.cn/blog_migrate/19ae69851ca6301d4e65d92dd98887a5.png)
When the User clicks on the URL having parameters, the request goes to the Web Container with extra bit of information at the end of URL. The Web Container will fetch the extra part of the requested URL and use it for session management.
当用户单击具有参数的URL时,请求将转到URL末尾带有更多信息的Web容器 。 Web容器将获取请求的URL的多余部分,并将其用于会话管理。
The getParameter()
method is used to get the parameter value at the server side.
getParameter()
方法用于在服务器端获取参数值。
演示URL重写用法的示例 (Example demonstrating usage of URL rewriting)
Below mentioned files are required for the example:
该示例需要以下文件:
index.html
index.html
<form method="post" action="validate">
Name:<input type="text" name="user" /><br/>
Password:<input type="text" name="pass" ><br/>
<input type="submit" value="submit">
</form>
web.xml
web.xml
<web-app...>
<servlet>
<servlet-name>validate</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>validate</servlet-name>
<url-pattern>/validate</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>First</servlet-name>
<servlet-class>First</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>First</servlet-name>
<url-pattern>/First</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
MyServlet.java
MyServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class MyServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String name = request.getParameter("user");
String pass = request.getParameter("pass");
if(pass.equals("1234"))
{
response.sendRedirect("First?user_name="+ name);
}
}
}
First.java
第一.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class First extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String user = request.getParameter("user_name");
out.println("Welcome "+user);
}
}
翻译自: https://www.studytonight.com/servlet/url-rewriting-for-session-management.php
servlet url重写