在Servlet中获取来源URL,即发送当前请求的URL。比如从a.jsp进入Servlet,在Servlet中可以获得a.jsp的路径。以下是代码:
Java代码
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>请求来源</TITLE></HEAD>");
out.println(" <BODY>");
String fromURL = request.getHeader("Referer");
out.print("来源于:"+fromURL);
StringBuffer requestURL = request.getRequestURL();
String queryString = request.getQueryString();
if(queryString != null){
requestURL .append("?").append(queryString);
}
out.print("<br />请求:"+requestURL.toString());
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>请求来源</TITLE></HEAD>");
out.println(" <BODY>");
String fromURL = request.getHeader("Referer");
out.print("来源于:"+fromURL);
StringBuffer requestURL = request.getRequestURL();
String queryString = request.getQueryString();
if(queryString != null){
requestURL .append("?").append(queryString);
}
out.print("<br />请求:"+requestURL.toString());
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
} 从代码中可以看出获取来源URL,是通过获取HTTP头的方式得到的,代码中String fromURL = request.getHeader("Referer"); 语句。而request.getRequestURL()是获取请求的URL,不包括参数。request.getQueryString()用于获取参数信息。
以下附录在编程常要获取的,包括获取一些常用的HTTP头:
Java代码
out.println("Protocol: " + request.getProtocol());
out.println("Scheme: " + request.getScheme());
out.println("Server Name: " + request.getServerName() );
out.println("Server Port: " + request.getServerPort());
out.println("Protocol: " + request.getProtocol());
out.println("Server Info: " + getServletConfig().getServletContext().getServerInfo());
out.println("Remote Addr: " + request.getRemoteAddr());
out.println("Remote Host: " + request.getRemoteHost());
out.println("Character Encoding: " + request.getCharacterEncoding());
out.println("Content Length: " + request.getContentLength());
out.println("Content Type: "+ request.getContentType());
out.println("Auth Type: " + request.getAuthType());
out.println("HTTP Method: " + request.getMethod());
out.println("Path Info: " + request.getPathInfo());
out.println("Path Trans: " + request.getPathTranslated());
out.println("Query String: " + request.getQueryString());
out.println("Remote User: " + request.getRemoteUser());
out.println("Session Id: " + request.getRequestedSessionId());
out.println("Request URI: " + request.getRequestURI());
out.println("Servlet Path: " + request.getServletPath());
out.println("Accept: " + request.getHeader("Accept"));
out.println("Host: " + request.getHeader("Host"));
out.println("Referer : " + request.getHeader("Referer"));
out.println("Accept-Language : " + request.getHeader("Accept-Language"));
out.println("Accept-Encoding : " + request.getHeader("Accept-Encoding"));
out.println("User-Agent : " + request.getHeader("User-Agent"));
out.println("Connection : " + request.getHeader("Connection"));
out.println("Cookie : " + request.getHeader("Cookie"));
out.println("Created : " + session.getCreationTime());
out.println("LastAccessed : " + session.getLastAccessedTime());
分享到:
相关推荐
包含了servlet获取url的各种参数,可以得到url里面任何信息
Servlet 中处理 URL,获取表单内以及URL上所有的参数
博文链接:https://helloaq.iteye.com/blog/230913
建立一个html网页让用户输入姓名、爱好等信息,然后传给servlet,最终展示出来。
用于把一个servlet 别名映射成一个url访问规则,匹配过程中,精确匹配,目录匹配,后缀匹配
本资源通过几个Servlet实例,实现在Servlet中获取Servlet自身信息、服务器端信息和客户端信息
servlet中如何对数据库中数据进行md5 加密
Servlet中文API文档 Servlet中文API文档Servlet中文API文档
关于java中使用servlet中解决乱码!
servlet中文帮助文档 servlet中文帮助文档 servlet中文帮助文档
servlet 中文帮助文档,各个方法的详细介绍
用注解的方式定义一个Servlet,就不用在web.xml中配置了。Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义。 像上面的AnnotationServlet可以描述成@WebServlet(name="Annotation...
servlet获取json的小例子
java servlet 中文说明手册,适合新手学习java servlet
Servlet + Tomcat 中文乱码的解决方法,浏览器把Unicode字符转换为GBK字符,这样页面的内容和浏览器的显示模式都设成了GBK,就不会乱码了
Servlet中文API文档 .docx
最新版的中文servletAPI。包括常用的servlet命令,pdf中文版的servlet。
servlet api 中文servlet api 中文servlet api 中文servlet api 中文servlet api 中文servlet api 中文servlet api 中文servlet api 中文servlet api 中文servlet api 中文
servlet中实现请求转发,用户登录,在servlet中验证用户名和密码.