Servlet

来源:互联网 发布:连环call软件 编辑:程序博客网 时间:2024/06/05 04:23

一:简介

servlet是 sun 公司提供的一门专门用于开发动态web资源的技术,是使用Java 语言编写的服务器端程序,可以像JSP一样,生成动态的WEB 页,Servlet主要运行在服务器端,并由服务器调用执行,是一种按照Servlet标准开发的类。(JSP 在执行的时候,依然是依靠 *.class 文件的执行,所以JSP骨子里依然是Servlet。)在JDK 的 API 中,提供了一个servlet接口,用户想用发一个动态 web 资源(即开发一个Java 程序想浏览器输入数据),需要完成以下两个步骤:1,编写一个Java类,实现servlet接口;2,把开发好的Java类部署到web服务器中。

二:简单实现

1、Servlet 处理的基本流程

第一步:客户端(比如WEB浏览器)通过 HTTP 提出请求

第二步:WEB 服务器接收该请求并将其发送给 Servlet。如果这个 Servlet 尚未被加载,就进行加载,之后虚拟机执行它。

第三步:Servlet 程序接收 HTTP 请求并执行某种处理

第四步:Servlet 将处理的结果向 WEB 服务器返回应答

第五步: WEB 服务器从 Servlet 收到的应答返回给客户端


在前面的Tomcat 模拟中,server 方法只有一个main方法监听在 9999 端口,只要访问这个端口(在地址栏输入:localhost:8080)就会读取1.html这个文件,并返回运行结果。而这里,在web.xml中配置了映射路径,只有当访问这个端口且指定路径的时候,才会根据路径调用相应的自己编写的继承了 HttpServlet 类的方法。

2、具体实现:

2.1 指定虚拟空间

2.1.1 在tomcat 的 conf 目录下的 server.xml 文件中,在<Host> 标签中增加

<Context path="/haizhu" docBase="D:\Java\TomcatWorkSpace\servlet"/>
2.1.2 将端口号改为80

2.1.3 在D:\Java\TomcatWorkSpace\servlet 目录下新建一个index.html 文件,在地址栏中输入http://localhost/haihzu ,如果页面正常显示则虚拟目录就成功了。

2.2 java代码

2.2.1 编写

HelloWorld.java

package servletDemo;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HelloWorld extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException {response.setContentType("text/html");PrintWriter out = response.getWriter();out.println("<html>");out.println("<head>");out.println("<title>Hello World!</title>");out.println("</head>");out.println("<body>");out.println("<h1>Hello World!</h1>");out.println("</body>");out.println("</html>");}}
将这个java 类手动编译,生成的 classs 文件放在D:\Java\TomcatWorkSpace\servlet\WEB-INF\classes\servletDemo文件夹下,

2.2.2 配置

在D:\Java\TomcatWorkSpace\servlet\WEB-INF目录下新建一个web.xml文件,注意,这个文件的位置一定不能放错,一定在WEB-INF这个目录下,内容如下所示:

web.xml

<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="http://java.sun.com/xml/ns/javaee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  version="3.0"  metadata-complete="true"><servlet>   <servlet-name>HelloWorld</servlet-name>   <servlet-class>servlets.HelloWorld</servlet-class></servlet><servlet-mapping>   <servlet-name>HelloWorld</servlet-name>   <url-pattern>/HelloWorld</url-pattern></servlet-mapping></web-app>
2.3 测试

在地址栏输入 http://localhost/haizhu/HelloWorld,回车,会显示“Hello World ”字样。

小结:

1、在Tomcat 的目录conf 下,有一个 server.xml 配置文件,这个主要用来配置虚拟项目路径

2、写好并编译成的 class 文件放在WEB-INF 下的 classes 目录下,并在WEB-INF 目录下的web.xml中配置访问这个文件的虚拟路径,注意不是Tomcat的conf下的web.xml文件

3、一定要注意,WEB-INF位于项目根目录下,其中有web.xml文件和classes文件夹,classes文件夹用来放置class文件

4、web.xml 中路径的映射可以使用通配符,但是只有一下两种方式:<url-parttern>/*</url-parttern>、<url-parttern>*.do</url-parttern>



原创粉丝点击