JavaWeb开发必过关-Servlet学习(一)

时间:2022-07-12 13:09:11

一、什么是Servlet

servlet其实是一个小程序,它是运行在服务器上的,一个servlet就是一个Java类,可以通过“请求-响应”编程模型来访问这个驻留在服务器内存的Servlet程序。总结下来我们就是两点:1、运行在服务器上的服务程序。2、能够接收请求给出响应。

二、Tomcat等级

Tomcat容器分为四个等级, Servlet容器管理Context容器,一个Context容器对应一个WEB工程

JavaWeb开发必过关-Servlet学习(一)

engine:表示一整个Catalina Servlet引擎
host:表示一个虚拟主机。
Context:表示一个web app应用,比如你做的一个网站
Wrapper:表示单个Servlet

三、用IntellijIdea手动编写一个Servlet

,IntelliJ是是java语言开发的集成环境,在业界被公认为最好的java开发工具之一,如果你还没有用,可以下载体验一下。官网地址

首先创建一个web工程
JavaWeb开发必过关-Servlet学习(一)

接着写一个类继承HttpServlet

public class MyHttpServlet extends HttpServlet {

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


        //获取向浏览器输出信息的对象
        PrintWriter printWriter =  resp.getWriter();
        resp.setContentType("text/html;charset=utf-8");
        printWriter.println("<strong>Hello Servlet GET</strong>");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter printWriter =  resp.getWriter();
        resp.setContentType("text/html;charset=utf-8");
        printWriter.println("<strong>Hello Servlet POST</strong>");
    }
}

doGet和doPost会分别处理get和post请求

我们在index.jsp里写代码去请求之后会在浏览器输出请求结果

<%-- Created by IntelliJ IDEA. User: yangqiangyu Date: 3/4/16 Time: 22:31 To change this template use File | Settings | File Templates. --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <h1>Hello Servlet</h1>
  <a href="servlet/HelloServlet">通过GET方式请求HelloServlet</a>


  <form action="servlet/HelloServlet" method="post">
    <input type="submit" value="POST方式提交">
  </form>
  </body>
</html>

最后别忘记了在web.xml 文件里配置我们的servlet

<?xml version="1.0" encoding="UTF-8"?>
<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_3_1.xsd" version="3.1">

    <servlet>
        <!--给servlet取名字-->
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>com.qiangyu.demo.MyHttpServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/servlet/HelloServlet</url-pattern>
    </servlet-mapping>
</web-app>

启动tomcat之后成功获取到了我们在doGET doPost当中输出的内容,一个自己的Servlet就写好了,是不是很简单呢
JavaWeb开发必过关-Servlet学习(一)
JavaWeb开发必过关-Servlet学习(一)

有问题可以留言,喜欢我的文章记得加关注!我会坚持分享自己学习过程中遇到的问题和学到的知识。