zoukankan      html  css  js  c++  java
  • 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.45workCatalinalocalhost
                这个目录是运行的文件。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>
  • 相关阅读:
    6410实现网卡(DM9000A)收发功能及ARP协议实现
    Shuffling Machine和双向链表
    Have Fun with Numbers及循环链表(约瑟夫问题)
    Tiny6410 LCD设置
    RAM与内存
    inet_addr解析
    map容器find用法
    WinSock编程(TCP)
    Python 时间序列作图及注释
    无法打开之前cuda的vs项目,打开之后变灰色
  • 原文地址:https://www.cnblogs.com/zhangze-lifetime/p/11700819.html
Copyright © 2011-2022 走看看