- URL重写
- URL重写的优势
- URL重写的缺点
- URL重写示例
url?name1 = value1&name2 = value2&??
名称和值之间用等号分隔, 参数名称/值对与另一个参数之间使用&符号分隔。当用户单击超链接时, 参数名称/值对将被传递到服务器。在Servlet中, 我们可以使用getParameter()方法来获取参数值。
文章图片
URL重写的优势
- 无论是否禁用cookie(与浏览器无关), 它将始终有效。
- 不需要在每个页面上提交额外的表单。
- 它仅适用于链接。
- 它只能发送文本信息。
在此示例中, 我们使用链接维护用户的状态。为此, 我们将用户名附加在查询字符串中, 并从另一页的查询字符串中获取值。
index.html
<
form action="servlet1">
Name:<
input type="text" name="userName"/>
<
br/>
<
input type="submit" value="http://www.srcmini.com/go"/>
<
/form>
FirstServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class FirstServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response){
try{response.setContentType("text/html");
PrintWriter out = response.getWriter();
String n=request.getParameter("userName");
out.print("Welcome "+n);
//appending the username in the query string
out.print("<
a href='http://www.srcmini.com/servlet2?uname="+n+"'>
visit<
/a>
");
out.close();
}catch(Exception e){System.out.println(e);
}
}}
SecondServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SecondServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)
try{response.setContentType("text/html");
PrintWriter out = response.getWriter();
//getting value from the query string
String n=request.getParameter("uname");
out.print("Hello "+n);
out.close();
}catch(Exception e){System.out.println(e);
}
}
}
web.xml
<
web-app>
<
servlet>
<
servlet-name>
s1<
/servlet-name>
<
servlet-class>
FirstServlet<
/servlet-class>
<
/servlet>
<
servlet-mapping>
<
servlet-name>
s1<
/servlet-name>
<
url-pattern>
/servlet1<
/url-pattern>
<
/servlet-mapping>
<
servlet>
<
servlet-name>
s2<
/servlet-name>
<
servlet-class>
SecondServlet<
/servlet-class>
<
/servlet>
<
servlet-mapping>
<
servlet-name>
s2<
/servlet-name>
<
url-pattern>
/servlet2<
/url-pattern>
<
/servlet-mapping>
<
/web-app>
下载此示例(使用Myeclipse IDE开发)
下载此示例(使用Eclipse IDE开发)
【Servlet会话追踪(URL重写)】下载此示例(使用Netbeans IDE开发)
推荐阅读
- web.xml中的欢迎文件列表解释
- Servlet中的会话跟踪
- SingleThreadModel接口介绍和用法
- ServletRequest接口介绍和用法详解
- ServletContext接口介绍和示例详解
- ServletOutputStream类用法示例
- ServletInputStream类用法示例
- uniapp 常用的基础知识
- uniapp 引用 iconfo