`
564615061
  • 浏览: 12334 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

servlet 获取用户请求路径

    博客分类:
  • jsp
 
阅读更多
request.getServletPath() - /a.jsp 
request.getContextPath() - /工程名 
request.getRequestURI() - /工程名/a.jsp 
request.getRequestURL() - http://127.0.0.1:8080/工程名/a.jsp

单独说一下request.getPathInfo() 方法的作用:

request.getPathInfo();
这个方法返回请求的实际URL相对于请求的serlvet的url的路径。(个人理解。)
比如,有一个Servlet的映射是这样配置的:
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/servlet/test/*</url-pattern>
</servlet-mapping>
为servlet配置的访问路径是:/servlet/test/*
我只要访问:
http://localhost:8080/dwr/servlet/test/这里可以是任何东西
就可以访问那个servlet。上面url中的dwr 是项目的名字
比如,我用这个 URL 来访问它:
http://localhost:8080/dwr/servlet/test/joejoe1991/a.html
这个实际的URL,相对于那个servlet 的url ("/servlet/test/*")的路径是:/joejoe1991/a.html
所以 request.getPathInfo() 方法返回的就是:"/joejoe1991/a.html"
如果你的URL里有查询字符串,getPathInfo() 方法并不返回这些查询字符串。
例如:
http://localhost:8080/dwr/servlet/test/joejoe1991/a.html?name=test
getPathInfo() 返回的仍然是:"/joejoe1991/a.html" ,而并不包括后面的"?name=test"
我们可以利用这个方法去做类似于多用户博客系统的那种URL。
都是http://www.xxx.com/blog/ 开头,后面跟的是用户名,比如我要访问joejoe1991的博客:
http://www.xxx.com/blog/joejoe1991
这个joejoe1991并不是一个真实存在的目录。
建一个servlet,配置路径为:/blog/*
然后在这个servlet里调用request.getPathInfo() 方法。
比如:http://www.xxx.com/blog/jjx
那request.getPathInfo() 方法返回的就是jjx ,表示要访问jjx的博客。
这时再去数据库里查相应的数据就好。



String ip = request.getRemoteAddr();//获取客户端ip
String ip = request.getLocalAddr();//获取服务器端(本地)ip
String lastpage = request.getHeader("Referer");//获取上一个页面

Referer 是从哪里来到你这个页面, 比如从BAIDU, GOOGLE
http://www.xxx.com/1.html 上点连接到 http://www.xxx.com/2.html 上
http://www.xxx.com/2.html的Referer就是http://www.xxx.com/1.html
分享到:
评论

相关推荐

    Wiz书库经典教程JSP Servlet

    jsp获取当前URL绝对路径.ziw JSP页面跳转的五种方法.ziw servlet 获取客户端请求的路径 得到站点的绝对地址.ziw 强制页面刷新,防止被服务器缓存.ziw

    12-Servlet执行原理.pdf

    1. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径。在上图 的URL中,获取的资源路径就是/demo01 2. 查找web.xml文件,是否有对应的标签体内容。 3. 如果有,则在找到对应的...

    javax.servlet.jsp-api-2.3.3.jar

    web项目里面开发jsp页面的时候,使用action调用servlet里面get和post方法的时候需要这个jar包,来获取 请求路径的

    Java_Web总结

    Servlet 也可以调用数据库、文件系统或其他资源,以获取或更新数据。 1.7. Web 容器 Web 容器是指一种特殊的软件,它可以部署和管理 Servlet 应用程序。Web 容器提供了一个运行环境,允许 Servlet 应用程序运行在...

    使用Java Servlet实现一个简单的在线留言板.txt

    首先定义了一个MessageServlet类,用来处理客户端发送的请求。在doPost()方法中获取了客户端发送的消息,并将消息存储到数据库或其他数据源中。然后设置响应的内容类型,并输出一条确认消息和客户端发送的消息。最后...

    Servlet

    Servlet server applet 运行在服务器端的小程序 Servlet就是一个接口,定义了Java类被...当服务器接收到客户端浏览器请求后,会解析请求URL路径,获取访问的Servlet的资源路径 查找web.xml文件,是否有对应的标签体

    java中request.getcontextPath()的意思.doc

    在 Servlet 中,我们可以使用 request.getScheme() 方法来获取当前请求的协议名称,例如 http 或 https。使用 request.getServerName() 方法可以获取当前请求的主机名,例如 localhost 或 www.example.com。使用 ...

    C-ATM.zip jsp+servlet 项目【练手/总结/巩固】

    3. 转发是服务器内部进行的操作,服务器直接将请求转发给另一个资源进行处理,并将其生成的响应返回给浏览器,浏览器不知道此过程,因此URL路径不会改变。 4. 使用重定向时,可以使用`response.sendRedirect()`方法...

    JAVA程序员面试题

    JAVA程序员面试题 1.JSP和Servlet有哪些相同点和不同点,他们之间...getServletPath():获取客户端所请求的脚本文件的路径 getServerPort():获取服务器的端口号 removeAttribute(String name):删除请求中的一个属性

    JSP实用技巧集合,jsp编程的一些小技巧总结

    105.获取请求中的所有参数? 106.获取完整的请求URL? 107.在重新显示表单时保留用户已经输入的合法数据? 108.使用选代器遍历集合 109.使用特定字符串对一个字符串进行分割? 110.格式化输出数字和字符? 111.生成一定...

    浅谈ajax在jquery中的请求和servlet中的响应

    获取可返回站点的根路径: &lt;&#37; String path = request.getContextPath(); %&gt; 在jquery中写ajax请求: [removed] $(function(){ $(.B).click(function(){ $.ajax({ type: GET, //对应servlet中的方法...

    如何使用java过滤器(filter)进行登陆验证?

    因为需要使用request方法中的getRequestURI()获取资源请求路径,Filter里的request是ServletRequest类型的而getRequsetURI()方法是HttpServletRequest类型的。所以首先需要强制转换。之后,就判断一下是否初始化页面...

    How Tomcat Works: A Guide to Developing Your Own Java Servlet Container

    3.3.3.5 获取参数 16 3.3.3.6 创建HttpResponse对象 16 3.3.3.7 静态资源处理器和servlet处理器 17 第4章 tomcat的默认连接器 18 4.1 简介 18 4.2 HTTP1.1的新特性 18 4.2.1 持久化连接 18 4.2.2 编码 18 4.2.3 状态...

    新闻发布系统

    // 获取请求参数opr的值,opr代表是什么类型的请求 if (opr == null) { // 如果不传参数opr时,不处理会引发NPE(NullPointerException) response.sendError(500, "opr参数是必须的"); // 发送错误代码500(内部...

    jsp编程技巧集锦

    获取请求中的所有参数? 106.获取完整的请求URL? 107.在重新显示表单时保留用户已经输入的合法数据? 108.使用选代器遍历集合 109.使用特定字符串对一个字符串进行分割? 110.格式化输出数字和字符? ...

    Java Servlet的注解配置与生命周期详解.docx

    1.当服务器接受到服务器请求的时候,会先解析浏览器的UPL地址,获取访问服务的路径 2.然后查找WEB.xml文件,查看是否有对应的标签体的内容 3.如果有,则找到对应的全类名 4.tomcat会将字节码文件加载进内存,并且...

    java微信公众号MVC开发框架

    获取相应的微信处理方法,Servlet获取到处理方法后,请求线程池获取线程调用微信方法,根据微信方法的返回值,生成请求的xml响应。本说明文档将分章节说明jwx框架的特征、快速入门、配置、扩展等各个方面。 一、特征...

    walkingkooka-spreadsheet-server:Walkingkooka电子表格的技术不可知服务器抽象

    Servlet容器和Web工作者伪造的HttpServer基于路径和其他请求属性通过同一路由器处理HttpRequests ,直到匹配处理程序并完成处理为止。 标准浏览器Fetch向诸如Jetty的HttpServer Servlet容器发出请求main UI thread ...

    JSP的九个内置对象及四个作用域

    Request 对象是javax.servlet.ServletRequest的子类型,“Request”对象代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,最常用的对象方法有getParameter、getParameterNames和getParameterValues通过...

    详解如何通过tomcat的ManagerServlet远程部署项目

    介绍 之前在邮政实习时,leader让我阅读tomcat的源代码,尝试自己实现远程部署项目的功能,于是便有了这此实践。 在Tomact中有一个Manager应用程序,它是用来管理已经部署的web应用程序,在这个应用...请求路径 描述

Global site tag (gtag.js) - Google Analytics