卢雨杰1030

Servlet
Servlet 是运行在服务端的Java小程序,是sun公司提供一套规范,用来处理客户端请求、响应给浏览器 的动态资源。

Servlet与普通java程序的区别

  1. 必须实现servlet接口
  2. 必须在servlet容器(服务器)中运行
  3. servlet程序可以接收用户请求参数以及向浏览器输出数据

实现Servlet接口,创建类

必须重写Servlet中的全部方法

  1. 创建一个class实现servlet接口
  2. 实现方法
  3. 创建的类在 web.xml 文件中做配置(将请求路径和java程序的对应关系建立起来)

package com.itlaobing.demo;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class MyServlet implements Servlet{

@Override
public void destroy() {
    // TODO Auto-generated method stub

}

@Override
public ServletConfig getServletConfig() {
    // TODO Auto-generated method stub
    return null;
}

@Override
public String getServletInfo() {
    // TODO Auto-generated method stub
    return null;
}

@Override
public void init(ServletConfig arg0) throws ServletException {
    System.out.println("111");
    // TODO Auto-generated method stub

}

@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
    // TODO Auto-generated method stub
    System.out.println("222");

    }
}
<?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>MyServlet</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-name>MyServlet</servlet-name>
      <servlet-class>com.itlaobing.demo.LoginServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>MyServlet</servlet-name>
      <url-pattern>/login</url-pattern>
  </servlet-mapping>
</web-app>

URL和URI的区别

URL(Uniform Resource Locator):统一资源定位符

顾名思义,URL就是一个表示资源位置的字符串,基本的URL格式为 "协议://IP地址/路径和文件名",如:ftp://ftp.is.co.za/rfc/rfc1808.txt

URI(Uniform Resource Identifier):统一资源标识符

“A Uniform Resource Identifier (URI) 是一个紧凑的字符串用来标示抽象或物理资源”,来自RFC中的定义。可以看出其和URL的目的是相同的,都是通过使用字符串来标示资源

生命周期流程
Servlet 生命周期流程如下:

  1. 浏览器通过 URL 请求 tomcat 服务器
  2. tomcat 服务器将 URL 解析后找到相应的项目,并查找是否有 urlPatterns = "/life" 的 servlet 存在
  3. 查找到 servlet 后创建对象,调用 init 方法初始化 servlet
  4. tomcat 创建 request 、 response 对象,并调用 service 方法。执行成后,修改 response 并返 回 5
  5. tomcat 将 response 解析成 http 响应格式的数据,返回给浏览器
  6. 浏览器解析,显示数据
  7. 如果 tomcat 停止,调用 destory() 方法,销毁 servlet

总结:

  1. Servlet对象是由服务器创建
  2. request与response对象也是由tomcat服务器创建
  3. request对象封装了浏览器过来的所有请求信息,response对象代表了服务器的响应信息

学习心得:

在动手敲代码的时候还是觉得之前的基础不够扎实,开始复习之前的知识了

标签

评论

this is is footer