javaWeb开发中URL地址的书写总结

在jsp页面中获取当前web应用的根目录使用el表达式

  ${pageContext.request.contextPage}

  在servlet中获取当前web应用的根目录使用

  request.getContextPath()

  以上两者获取根目录的返回值是

  “/projectName”

  jsp中举例:

  ${pageContext.request.contextPath}/servlet/Test2

  servlet中举例:

  request.getContextPath() + "/servlet/Test2"

  WebRoot下的jsp文件可以直接被客户端访问(主页一般放在此目录下),WEB-INF下的jsp文件受保护,不能够被客户端直接访问(通过转发进行访问)。

  在javaweb开发过程中地址的书写总结:

  在servlet中:

  在servlet执行转发过程中书写地址,此地址供服务器调用,此时当前路径为servlet的路径。如果在地址的前面不加

  “/”

  ,则执行程序的时候服务器会在地址前面自动加上

  “/projectName/servlet/”

  。如果加上

  “/”

  ,此时服务器会认为

  “/”

  代表当前web网站的根目录,即

  “projectName/”

  目录下。则执行程序的时候服务器会自动在地址前面加

  “/projectName”

  。所以在书写的过程中一般建议在地址的前面加上

  “/”

  ,然后根据当前web应用的目录进行书写地址。在servlet执行重定向过程中书写地址,因为重定向是直接被客户端使用,此时应当使用完整的路径,即

  “/projectName(根目录) + 你要访问的网页的完整路径”

  。

  在jsp页面中:

  若是使用a标签或者使用重定向,由于是提供给用户使用,此时使用完整的路径。和在servlet中使用重定向相同。 若使用转发,此时的情况和在servlet中的情况相同,此时的路径是供服务器直接调用的,此时当前目录是jsp所在目录,若路径之前不加

  “/”

  ,则服务器再调用的时候,会直接在之前路径之前加上

  “.../jsp/”

  。如果加上

  “/”

  ,此时当前路径就是web应用的根目录,服务器调用的时候会在路径之前加上

  “/projectName”

  总结: 不管是在servlet中还是在jsp中,如果书写的路径是供客户端调用,则使用路径的完整名称(

  “/projectName/+ 路径”

  )。 如果路径是被服务器调用,则服务器在调用的时候会使用

  当前路径+您所书写的路径

  ,如果你的路径之前没有

  “/”

  ,则使用的当前路径就是当前的servlet或者jsp所在的路径,如果在你写的路径之前加上

  “/”

  ,则服务器就会在你的路径之前加上web应用的根目录。书写路径的步骤:

  首先思考此地址是供服务器自己使用,还是供客户端使用。

  如果此地址是服务器自己使用,先使用

  "/"

  将当前路径改为web应用所在的路径,在街上自己要访问的路径。

  如果此时地址是供客户端使用的,则直接使用完整的路径。

猜你喜欢

转载自kissuyoyo.iteye.com/blog/2340890
今日推荐