首页 > 代码库 > Servlet简介
Servlet简介
------------------siwuxie095
Servlet+Applet
Servlet 即 Servlet Applet,服务端小程序
Applet 是运行于客户端/浏览器上的 Java 小程序
特殊的 Java 类
Servlet 本质上也是 Java 类,所以编写 Servlet 要遵循 Java 的基本语法
但 Servlet 与一般的 Java 类又有所不同,它需要遵循 Servlet 规范进行编写,
所以有一些普通 Java 类所不具有的特性
如:
· Servlet 没有 main() 方法
· Servlet 运行于服务端
· Servlet 的创建和销毁,都是由 Servlet 容器(如:Tomcat)来管理
…
Servlet 与 HTTP
Servlet 和 HTTP 协议是紧密联系的,所以使用 Servlet 几乎可以
处理 HTTP 协议所有相关的内容
使用 Servlet 输出 Hello World
工程结构目录如下:
代码:
package com.siwuxie095.servlet;
import java.io.IOException; import java.io.PrintWriter;
import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
//HelloServlet 继承自 HttpServlet public class HelloServlet extends HttpServlet {
/** * 先覆盖父类 HttpServlet 的方法: * 右键->Source->Override/Implement methods * 选择 HttpServlet 的 service() 和 GenericServlet 的 init() 和 destroy() * * 这样,HelloServlet 的骨架生成完毕 */
@Override public void init() throws ServletException { System.out.println("===== init without parameters ====="); super.init(); }
@Override public void init(ServletConfig config) throws ServletException { System.out.println("===== init with parameters ====="); super.init(config); }
@Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("===== service ====="); //通过 HttpServletResponse 获取一个 PrintWriter 对象 //PrintWriter是一个以字符为单位的输出流 PrintWriter pw=resp.getWriter(); pw.println("Hello World"); //输出完毕,关闭流 pw.close(); }
@Override public void destroy() { System.out.println("===== destroy ====="); super.destroy(); }
} |
在部署描述符 web.xml 中注册 servlet:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <display-name>HelloServlet</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list>
<!-- 添加一个 servlet 元素,它有两个子元素 --> <!-- servlet 元素用于注册 servlet --> <!-- servlet-name 用于设置 servlet 的注册名称(可随意设置) --> <!-- servlet-name 用于设置 servlet 的完全限定名 --> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>com.siwuxie095.servlet.HelloServlet</servlet-class> </servlet>
<!-- 添加一个 servlet-mapping 元素,它有两个子元素 --> <!-- servlet-mapping 元素用于映射 servlet 对外访问的路径 --> <!-- servlet-name 也是指 servlet 的注册名称,需保持一致 --> <!-- servlet-name 是 servlet 和 servlet-mapping 联系起来的唯一标志 --> <!-- url-pattern 用于指定 servlet 对外访问的路径 --> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/Hello</url-pattern> </servlet-mapping>
</web-app> |
即 添加了如下代码:
部署描述符 web.xml 在 WEB-INF 目录下,如果没有,手动创建即可
选择工程 HelloServlet,右键->Java EE Tools->Generate Deployment Descriptor Stub
选择 Tomcat,右键->Add and Remove,把 HelloServlet 添加到 Tomcat 中
启动 Tomcat,在浏览器中输入:localhost:8080/HelloServlet/Hello
【made by siwuxie095】
Servlet简介