Servlet

时间:2019-10-18
本文章向大家介绍Servlet,主要包括Servlet使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Servlet 是 J2EE 的一个规范 ,他是 Java 语言用于处理客户请求的一种技术。

如何编写小豆子(servlet)
    (1). 编写一个类 HelloServlet
    (2). 导入 Servlet 接口规范的 jar
    (3). 实现 Servlet 接口,编写 Servlet
    (4). 部署项目(Servlet)到容器
    (5). 配置,你要告诉 Tomcat 你开发了一个 Servlet
            a. 你这个 Servlet 的名字
            b. 怎么访问
            web.xml :配置你自己开发的 Servlet
            一个 Servlet ,其实是一个资源(普通文件,图片,软件,视频),它往往对应一个访问的url
            Servlet 多线程访问的,尽量不要再 Servlet 中加入成员变量,因为会设计到线程安全的问题。
    (6). Servlet 的生命周期的问题
            Servlet 是一个类,成员方法,Servlet 的对象是什么时候被创建的,这个对象什么时候被销毁。
            默认情况下,在第一个人访问的时候会被创建,后面的人访问不创建。(单例模式)
            <load-on-startup>1</load-on-startup>  主动加载。数字代表实例化的顺序
    (7). 再看jsp
            jsp 就是 Servlet ,只不过他是 Servlet 另外一种的表现形式。
            Servlet 更多是代码中嵌入表现层代码。而 jsp 是表现层代码嵌入后台逻辑代码
            其实他们并没有本质的区别。这也是为什么说jsp是动态资源,而不是静态资源的原因。
            apache-tomcat-8.5.45\work\Catalina\localhost\
            这个目录是运行的文件。jsp文件在这里被处理成.java文件. 所以jsp本身是 Servlet
            jsp第一次被访问的时候会被web容器翻译成Servlet 提供服务,只翻译一次,所以第一次会慢。

 1 import java.io.IOException;
 2 import java.io.PrintWriter;
 3 import javax.servlet.ServletException;
 4 import javax.servlet.http.HttpServlet;
 5 import javax.servlet.http.HttpServletRequest;
 6 import javax.servlet.http.HttpServletResponse;
 7 
 8 /**
 9  * 第一个Servlet
10  * @author 张泽
11  *
12  */
13 public class HelloServlet extends HttpServlet {
14     
15 //-- 重写 doGet 方法
16     @Override   //-- eclipse 写的检验功能
17     protected void doGet(HttpServletRequest request, HttpServletResponse response)
18             throws ServletException, IOException {
19 
20         response.setContentType("text/plain");        
21         PrintWriter out = response.getWriter();
22         out.write("Hello Servlet");
23     }
24     
25 }
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.4" 
 3     xmlns="http://java.sun.com/xml/ns/j2ee" 
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
 6         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 7     
 8     <!-- 配置 HelloServlet 基本信息 -->    
 9     <servlet>
10         <servlet-name>HelloServlet</servlet-name>
11         <servlet-class>day03.HelloServlet</servlet-class>
12     </servlet>
13     <!-- 配置 Servlet 的访问路径 -->
14     <servlet-mapping>
15         <servlet-name>HelloServlet</servlet-name>
16     <url-pattern>/hello</url-pattern>
17     </servlet-mapping>
18     
19   
20 </web-app>

原文地址:https://www.cnblogs.com/zhangze-lifetime/p/11700819.html