天天看点

Servlet也是有路径的

在Tomcat部署的一个webapp里,有很多jsp,为了正确的进行互相的引用,很是花了一番功夫。原以为Servlet会简单一些,谁知满不是这么回事。

在web.xml中

<servlet>
     <servlet-name>myservlet</servlet-name>
     <servlet-class>foo.bar</servlet-class>
   </servlet>       
   <servlet-mapping>
   	 <servlet-name>myservlet</servlet-name>
   	 <url-pattern>/myserv.do</url-pattern>
   </servlet-mapping>  
           

原来以为不管在哪里,只要有这样一个form

<form action="myserv.do">
  <input type="text" name="searchcontent"/>
  <input type="submit"/>
</form></td>
           

就可以访问到这个Servlet,但事实是,/myserv.do实际上指示了这个Servlet的虚拟路径。所以必须明确的指示

<form action="/myserv.do">
           

这里还需要看你有没有指定应用的root。否则/所代表的是不一样的--有可能是webapps目录。