美文网首页
开始写第一个Servlet

开始写第一个Servlet

作者: capo | 来源:发表于2019-05-18 10:30 被阅读0次

今天来介绍一下Web开发的基石,Servlet。 搞Web开发的都知道,从一个浏览器请求到输出到页面就是通过Servlet处理的,我们的Web开发框架Spring也是基于这个玩意升级的。不废话了,开始介绍Servlet吧

Servlet API 概述

image.png
  • javax.servlet 其中包含了Servlet和Servlet容器之间契约的类和接口
  • javax.servlet.http 其中包含了HttpServlet和Servlet容器之间契约的类和接口
  • javax.servlet.annotation 其中包含标注Servlet、Filter、Listener的标注。
  • javax.servlet.descriptor 其中包含了提供化登录Web应用程序的配置信息的类型


    image.png

符合 Web应用的目录结构

image.png

编写一个 Servlet

package com.minglangx.servlert;

import java.io.IOException;
import java.io.PrintWriter;

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

public class MyServlert implements Servlet{
   
   private transient ServletConfig servletConfig;
   
   
   @Override
   public void init(ServletConfig servletConfig) throws ServletException {
       this.servletConfig = servletConfig;
   }
   
   
   @Override
   public ServletConfig getServletConfig() {
       // TODO Auto-generated method stub
       return servletConfig;
   }
   
   @Override
   public String getServletInfo() {
       // TODO Auto-generated method stub
       return "MyServlet";
   }


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


   @Override
   public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
       String servletName = servletConfig.getServletName();
       response.setContentType("text/html");
       PrintWriter pw = response.getWriter();
       pw.print("<html><head>"
               + " <body>"
               + " Hello from " +servletName + " </body</head></html>");
       
   }
   
   

}

配置 web.xml 文件映射

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  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-name>MyServlert</servlet-name>
        <servlet-class>com.minglangx.servlert.MyServlert</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
       <servlet-name>MyServlert</servlet-name>
       <url-pattern>/test</url-pattern>
    </servlet-mapping>



</web-app>

总结

  • Web应用的每一个请求就是一个Servlet,Servlet的 service方法执行请求业务处理
  • ServletRequest ServletResponse 分别代表请求 和响应 对象数据
  • 注意打 war 包命令 jar -cvf xxx.war ./* 必须是在 WEB-INF 目录下打包,将war包丢在 Tomcat的 webapps目录即可,启动Tomcat后会帮你自动解压

相关文章

网友评论

      本文标题:开始写第一个Servlet

      本文链接:https://www.haomeiwen.com/subject/qwuzaqtx.html