• Servlet简介


    ------------------siwuxie095

       

       

       

       

       

       

       

       

    Servlet+Applet

       

       

    Servlet 即 Server 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

       

       

    工程结构目录如下:

       

       

       

    HelloServlet.java:

       

    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】

  • 相关阅读:
    jPoint开发简介
    使用.NET程序集作为Business Data Connectivity数据源(一)
    SharePoint2010内容类型剖析(一)
    SharePoint Learning Kit核心内容概述(四)
    SharePoint 2010正式版发布
    推荐一份极好的SharePoint 2010开发资料
    使用jQuery为数据视图添加图表显示
    SharePoint Designer 2010的新增功能
    SharePoint Learning Kit核心内容概述(三)
    SharePoint2010内容类型剖析(三)
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/6701348.html
Copyright © 2020-2023  润新知