相应目录下的WEB-INF/classes/package/yourclass.class
^^^^^^^
package指的是你的servlet所在的包,
http://localhost:8080/servlet/package/yourclass
这是没有在web.xml里配制时调用的方法.
^^^^^^^
package指的是你的servlet所在的包,
http://localhost:8080/servlet/package/yourclass
这是没有在web.xml里配制时调用的方法.
^^^^^^^
调用方式:http://localhost:8080/servlet/文件名
已经知道servlet存放在文件系统的何处,接下来就分析它们被如何调用,对于Tomcat,用下面的URL格式调用:
http://server:port/context_path/servlet/servlet_name
URL的http字符串表明访问URL要使用http协议,server指向服务器的主机名,:port指明这一连接的端口号,context_path表示Web应用程序的上下文路径,/servlet部分告知Tomcat某个servlet正在被引用,servlet_name表示被Tomcat引用的servlet类名,注意:完整的软件包信息必须包含在类名中,例如:SnoopServlet在com.insideservlets软件包中,那么servlet类名就是com.insideservlets.SnoopServlet。
当准备运行servlet的时候,必须把它存放到其中一个Web应用程序的/WEB-INF/classes目录中,这样就可以通过Web应用程序的上下文路径和该servlet名来调用该servlet了。
1、在浏览器中直接调用
例1,把命名为SnoopServlet的servlet放到examples Web应用程序的/WEB-INF/classes目录中,就可以用下面的URL从浏览器来调用它了:
http://localhost:8080/examples/servlet/SnoopServlet
例2,如果把命名为SnoopServlet的servlet放到ROOT Web应用程序的/WEB-INF/classes目录中,就可以用下面的URL从浏览器来调用它了:
http://localhost:8080/servlet/SnoopServlet
注意:ROOT Web应用程序是默认Web应用程序,所以URL中不需要上下文路径。
2、由于servlet是通过Web服务器进行调用的,因此必须在html页面中链接它
在html页面中可以通过<FORM>和<A>标记调用,在<FORM>中通过ACTION属性调用,格式如下:
ACTION="http://server:port/context_path/servlet/servlet_name"
在<A>标记中通过HREF属性调用,格式如下:
HREF="http://server:port/context_path/servlet/servlet_name"
当然http://server:port部分可以省略。
对于例1用<FORM>标记的页面调用方法为:
<FORM ACTION="http://localhost:8080/examples/servlet/SnoopServlet">或
<FORM ACTION="examples/servlet/SnoopServlet">
对于例1用<A>标记的页面调用方法为:
<A HREF="http://localhost:8080/servlet/SnoopServlet">或
<A HREF="servlet/SnoopServlet">
此外,还可以通过在/WEB-INF/web.xml 中定义servlet名称、servlet映射来调用servlet,具体方法不再介绍
,有兴趣可参考有关书籍。
调用。
然后在\WEB-INF下配置一个Web.xml文件
我有一个通用的,可以先用着。当然,你也可以自己配置。<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"><web-app> <description>
Welcome to Servlet's Practice
</description> <servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping></web-app>
哪里有手册可以查么?
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
<servlet-name> </servlet-name 之间要填上什么servlet-name?是我的servlet类名吗?如果我有多个servlet 应该怎么填?
<servlet-name> </servlet-name 之间要填上什么servlet-name?是我的servlet类名吗?如果我有多个servlet 应该怎么填?
<servlet>
<servlet-name>InertIntoRYLB</servlet-name>
<display-name>InertIntoRYLB</display-name>
<servlet-class>InertIntoRYLB</servlet-class>
</servlet>
<servlet>
<servlet-name>CheckLogin</servlet-name>
<display-name>CheckLogin</display-name>
<servlet-class>CheckLogin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>InertIntoRYLB</servlet-name>
<url-pattern>InertIntoRYLB</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CheckLogin</servlet-name>
<url-pattern>CheckLogin</url-pattern>
</servlet-mapping>