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>
- Servlet
- servlet
- Servlet
- servlet
- Servlet
- servlet
- servlet
- Servlet
- Servlet
- servlet
- Servlet
- servlet
- servlet
- servlet
- Servlet
- servlet
- servlet
- servlet
- 由前序和中序遍历建立二叉树并后序遍历输出二叉树
- 卸载Ubuntu
- c++ 模板函数初试
- 栈的习题
- 黑马程序员——Java高新技术(1)
- Servlet
- makefile 调用其他makefile
- 设置ssh免密码登录服务器
- 第17章,进程间通信
- 交通部:高速高铁等公共领域拟实现一卡通
- MySQL Performance: Linux I/O
- C语言小结
- 3D图形渲染管线
- Java:重写equals()和hashCode()