JavaWEB(一)--第一个Servlet程序

Servlet简介


1: Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中。Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和客户的通信采用“请求/响应”的模式;x
2:Servlet可完成如下功能:
-创建并返回基于客户请求的动态HTML页面;
-创建可嵌入到现有HTML 页面中的部分HTML 页面(HTML 片段);
-与其它服务器资源(如数据库或基于Java的应用程序)进行通信;

Servlet容器响应客户端请求访问特定的Servlet流程如下:
1.客户端发出要求访问特定的Servlet的请求;
2.Servlet容器接收到客户请求,对其解析;
3.Servlet容器创建一个ServletRequest对象,在ServletRequest对象中包含客户请求信息及其它关于客户的信息,如:请求头,请求正文,以及客户机的ip地址等;
4.Servlet容器创建一个ServletResponse对象;
5.Servlet容器调用客户所请求的Servlet的Service()服务方法,并把ServletRequest对象和ServletResponse对象作为参数传递组该服务方法;
6.Servlet从ServletRequest对象中获取客户的请求信息;
7.Servlet利用ServletResponse对象来生成响应结果;
8.Servlet容器把Servlet生成的响应结果发送给客户;

servlet容器相应客户端请求过程

项目结构:
项目结构

HelloServlet.java代码

package com.servlet.javaweb;


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 HelloServlet implements Servlet{

    @Override
    public void destroy() {
            System.out.println("destroy");      
    }

    @Override
    public ServletConfig getServletConfig() {
        System.out.println("getServletConfig");
        return null;
    }

    @Override
    public String getServletInfo() {
        System.out.println("getServletInfo");
        return null;
    }

    @Override
    public void init(ServletConfig arg0) throws ServletException {
        System.out.println("init");
    }

    @Override
    public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
        System.out.println("service");
    }
    public HelloServlet(){
        System.out.println("Hello Servlet  a aa");
    }

}

WEB.XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">

    <servlet>
    <!-- Servlet注册的名字 -->
        <servlet-name>helloServlet</servlet-name>
        <!-- Servlet的全类名 -->
        <servlet-class>com.servlet.javaweb.HelloServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <!-- 需要和一个servlet节点的servlet-name子节点的文本节点一致 -->
        <servlet-name>helloServlet</servlet-name>
        <!-- 映射具体的访问路径:  /代表当前WEB应用的根目录 -->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

运行结果:

这里写图片描述

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值