servlet路径问题

普通JAVA类 如何获取,WEB项目的根路径

在jsp和class文件中调用的相对路径不同。 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。

另:在Jsp,Servlet,Java中详细获得路径的方法!

1.jsp中取得路径:

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:request.getRequestURI() 
结果:/TEST/test.jsp 
(2)得到工程名:request.getContextPath() 
结果:/TEST 
(3)得到当前页面所在目录下全名称:request.getServletPath() 
结果:如果页面在jsp目录下 /TEST/jsp/test.jsp 
(4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp") 
结果:D:/resin/webapps/TEST/test.jsp 
(5)得到页面所在服务器的绝对路径:absPath=new
java.io.File(application.getRealPath(request.getRequestURI())).getParent();
结果:D:/resin/webapps/TEST

2.在类中取得路径:

(1)类的绝对路径:String u=Class.class.getClass( ).getResource("/").getPath() 
结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

  1. //str会得到这个函数所在类的路径
  2. str=str.substring(6,str.length());
  3. //将%20换成空格(如果文件夹的名称带有空格的话,会在取得的字符串上变成%20)
  4. str=str.replaceAll("%20","
    ");
  5. //查找“WEB-INF”在该字符串的位置
  6. int num = str.indexOf("WEB-INF");
  7. //截取即可
  8. str=str.substring(0, num+"WEB-INF".length());

(2)得到工程的路径:System.getProperty("user.dir") 
结果:D:/TEST

3.在Servlet中取得路径:

(1)得到工程目录:request.getSession().getServletContext().getRealPath("")
参数可具体到包名。 
结果:E:/Tomcat/webapps/TEST 
(2)得到IE地址栏地址:request.getRequestURL() 
结果:http://localhost:8080/TEST/test 
(3)得到相对地址:request.getRequestURI() 
结果:/TEST/test

时间: 2024-08-07 19:55:15

servlet路径问题的相关文章

Servlet路径映射

Serlvlet路径映射 当一个请求发送到servlet容器的时候,容器先会将请求的url减去当前应用上下文的路径作为servlet的映射url. 容器默认请求的是一个Servlet,所以不会直接根据路径从文件夹中查找文件,而是先从web.xml中根据<url-pattern>查找对应的Servlet文件,匹配成功后就停止继续匹配:如果没有找到,才会从文件夹中找.都没有,则返回404. 匹配规则 url-pattern匹配规则只有以下五种(*为通配符): ■ 以"/"字符开

Servlet路径跳转问题

Servlet中路径跳转 相对路径         注意这里的相对含义,相对于谁而言 经过多次试验总结,servlet相对路径跳转相对于servlet配置的xml路径(或servlet3.0注解路径) 如下: //XML文件  <servlet-mapping> <servlet-name>RegServlet</servlet-name> <url-pattern>/servlet/RegServlet</url-pattern> </s

Jsp与servlet路径问题

Web开发中的路径问题 2012-01-23 01:43:54|  分类: JAVA |  标签:jsp  web  servlet  路径  javabean   |举报 |字号大中小 订阅 路径问题在Web开发中算是令人比较蛋疼的问题,尤其是用相对地址时,同样的代码,在不同的目录结构中竟然会出现有对有错的结果,让人茫然不知所措.这种错误,究其原因,还是对Web中路径的概念一知半解,为彻底避免这种错误,提高开发效率,这里对Web中路径问题稍作总结. 1. 服务器端的相对地址 是在服务器端解析的

Servlet路径跳转2--在servlet当中,跳转到某网页时的路径写法

课程1-13   http://www.imooc.com/video/5554 Servlet路径跳转: 绝对路径:放在任何地方都对的路径 相对路径:相对于当前资源的路径 两种方法:请求重定向,服务器内部跳转 方法一:请求重定向方式跳转到test.jsp,超链接写法如下 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExcept

自建目录中jsp页面访问servlet路径出错404

---恢复内容开始--- 使用eclipse建立的项目,总是会遇到路径问题,比如jsp页面访问servlet,jsp在默认的路径.jsp在自建目录中的访问路径(web.xml的URL)是有区别的.若是访问路径设置不对,总会出现头痛的404访问不到结果: 下面是giveRadius.jsp页面输入半径,提交到servlet的Computer.java中求出面积. 一.jsp页面在默认的WebConnet下面 1 项目结构 2 web.xml内容 <?xml version="1.0"

servlet 路径问题

首先明确绝对路径与相对路径,绝对路径:相对于盘符的路径c://a.txt,相对路径格式如/web/hello.jsp.还有一个是网络路径http://www.baidu.com/...... 一般来说\代表绝对路径,也可以说是windows路径,而/是java路径或者相对路径或者网络路径.java中可以用\\ 代表\,直接写\由于字符转义是会报错的. 相对路径的获取方法,先写这个是因为绝对路径有时用到了相对路径,大概有三个方法获取1.request.getContextPath();// 项目的

servlet路径映射优先顺序

一个Servlet可以配置多个url-pattern URL 配置格式 三种: 1.完全路径匹配  (以/开始 ) 例如:/hello /init 2.目录匹配 (以/开始) 例如:/*  /abc/* / 代表网站根目录 3.扩展名匹配 (不能以/开始) 例如:*.do *.action 典型错误 /*.do 在浏览器中 访问的优先级顺序为: 优先级:完全匹配>目录匹配 > 扩展名匹配 在优先级相同的情况下,先访问范围更确定的url配置 示例:    Servlet引擎将调用servlet2

Servlet路径跳转

如何在Servlet中访问WEB-INF中的.jsp?先建一个.jsp命名为Test,下面介绍几种方式1.请求重定向方式来跳转到Test.jsp;用到response.sendRedirect.使用request.getContextPath()获得上下文对象response.sendRedirect(request.getContextPath()+"/Test.jsp"); 2.服务器内部跳转 用到request.getRequestDispatcher() request.get

servlet 路径判断

请求转发:服务器内部转发 重定向:服务器的外部跳转 解决重定向问题的中文乱码: //解决url的问题 //打散字节 name=URLEncoder.encoder(param,"现在的编码类型"): 另一个页面就要解码: 参数=URLDecoder.decode(param,"utf-8"); //解决中文乱码 参数= new string(参数.getBytes("ISO8859-1"),"utf-8"); 重定向在不同项目