Servlet学习笔记

1、Servlet简介

  • Servlet就是Sun公司开发动态web的一门技术
  • Sun公司在这些API中提供了一个接口:Servlet,如果想要开发一个Servlet程序,需要完成两个步骤:
    • 1、编写一个类,实现Servlet接口
    • 2、将编写好的Java程序部署类部署到web服务器中(例如上篇博客中的tomcat)
  • 我们把实现了Servlet接口的Java程序,叫做Servlet

2、HelloServlet简单示例

Servlet接口有两个默认的实现类:HttpServlet,GenericServlet

2.1、构架一个javaweb项目(详细见上一篇博客),在src/main目录下把该有的目录添加上去

 2.2、Maven环境的优化

2.2.1、在修改web.xml中的配置为最新

将里边的代码改为下面这段

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0"
         metadata-complete="true">
</web-app>

2.2.2、将maven的结构搭建完整

3、编写一个servlet程序

3.1、继承HttpServlet类

这边我们去翻一下源码,最顶层是一个Servlet接口

然后底下是GenericServlet,发现这个类实现了三个接口,重写了Servlet 中的Service方法,里面还有其他的一些方法,这里就不一一解释了

 然后再下来就是我们编写程序时候要继承的HttpServlet类,这里边有两个方法doGet ,doPost方法我们编写自己的普通类只需要重写的里边的方法即可

package com.zhang.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

//测试Servlet,理解Servlet
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        resp.setCharacterEncoding("utf-8");
        resp.getWriter().println("hello servlet");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

由于get或者post只是请求实现的不同的方式,可以相互调用,业务逻辑都一样

3.2、编写Servlet映射

我们写的是JAVA程序,但是要通过浏览器访问,而浏览器需要连接web服务器, 所以我们需要再web服务中注册我们写的Servlet,还需给他一个浏览器能够访问的路径

在web.xml文件中编写映射

<servlet>
    <servlet-name>helloServlet</servlet-name>
    <servlet-class>com.zhang.servlet.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>helloServlet</servlet-name>
    <url-pattern>/s1</url-pattern>
  </servlet-mapping>

3.3、配置tomcat

这里要注意tomcat的发布路径就可以了

 

 3.4、启动tomcat,测试即ok

4、Servlet原理

Servlet是由web容器调用,Web容器在接受到浏览器请求后,会生成两个对象,分别是HttpRequest和HttpResponse对象,然后去调用Servlet中的Service方法,request会从这个方法中拿到请求,然后根据是get或者post来调用我们自己编写的Servlet程序中的方法,然后在执行完我们编写的逻辑代码后,将运行的结果封装到response中,然后由web服务器(tomcat或其他)返回给客户端结果。

我们自己编写的Servlet主要执行两个操作:

1、接受并处理请求

2、给出结果及相应信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长安也有星星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值