关于index.jsp跟web.xml中的路径

关于index.jsp和web.xml中的路径

前提:项目名称或者Web App的名称是myFirstWebProject

1、先假设在index.jsp中,有一个form如下:

  <!-- <form action="/myFirstWebProject/myfirstservletname" method=get>  -->
    <form action=<%=request.getContextPath() %>/myfirstservletname method=post>
    <!-- <form action=myfirstservletname method=post> -->
    <!-- <form action=myFirstWebProject/myfirstservletname method=post> -->
    <input type=text name=test />
    <input type=submit name='upload'>    
    </form>
 

共4种情况,分别讲述如下:

a)/myFirstWebProject/myfirstservletname,最前面的那个斜杠在JSP中表示的意思是代表域名的意思,换句话说,我本南的域名就是http://localhost:8081/,拼接起来就是http://localhost:8081/myFirstWebProject/myfirstservletname

 

b)<%=request.getContextPath() %>翻译过来就是/myFirstWebProject,剩下的同上。

 

c)相对路径:前面什么都不写等于INDEX.JSP所在的目录,即http://localhost:8081/myFirstWebProject.

 

d)相对路径:利用c的知识,这里完整的路径应该是:http://localhost:8081/myFirstWebProject/myFirstWebProject/myfirstservletname,此时必须在web.xml再配置一个servlet mapping才可以。

 

以下是web.xml中的内容:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
      <servlet-name>myfirstservletname</servlet-name>
      <servlet-class>servletPackage.bs.MyFirstServlet</servlet-class>
    </servlet>

	 <servlet-mapping>
        <servlet-name>myfirstservletname</servlet-name>
        <url-pattern>/myfirstservletname</url-pattern>
    </servlet-mapping>
    
    <servlet-mapping>
        <servlet-name>myfirstservletname</servlet-name>
        <url-pattern>/gg/hh/gg</url-pattern>
    </servlet-mapping>
    
    <servlet-mapping>
        <servlet-name>myfirstservletname</servlet-name>
        <url-pattern>/gg/hh/gg1</url-pattern>
    </servlet-mapping>
    
    <servlet-mapping>
        <servlet-name>myfirstservletname</servlet-name>
        <url-pattern>/myFirstWebProject/myfirstservletname</url-pattern>
    </servlet-mapping>
    
  
  
</web-app>
 

 

 

2、关于web.xml中的路径

 

web.xml中的斜杠表示的和JSP中的不一样,它表示的是web App的名称,即http://localhost:8081/myFirstWebProject。

 

 

ref:浪曦尚学堂Servlet_Jsp视频。