開始寫第一個(gè)Servlet

今天來(lái)介紹一下Web開發(fā)的基石,Servlet。 搞Web開發(fā)的都知道,從一個(gè)瀏覽器請(qǐng)求到輸出到頁(yè)面就是通過(guò)Servlet處理的,我們的Web開發(fā)框架Spring也是基于這個(gè)玩意升級(jí)的。不廢話了,開始介紹Servlet吧

Servlet API 概述

image.png
  • javax.servlet 其中包含了Servlet和Servlet容器之間契約的類和接口
  • javax.servlet.http 其中包含了HttpServlet和Servlet容器之間契約的類和接口
  • javax.servlet.annotation 其中包含標(biāo)注Servlet、Filter、Listener的標(biāo)注。
  • javax.servlet.descriptor 其中包含了提供化登錄Web應(yīng)用程序的配置信息的類型


    image.png

符合 Web應(yīng)用的目錄結(jié)構(gòu)

image.png

編寫一個(gè) 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>

總結(jié)

  • Web應(yīng)用的每一個(gè)請(qǐng)求就是一個(gè)Servlet,Servlet的 service方法執(zhí)行請(qǐng)求業(yè)務(wù)處理
  • ServletRequest ServletResponse 分別代表請(qǐng)求 和響應(yīng) 對(duì)象數(shù)據(jù)
  • 注意打 war 包命令 jar -cvf xxx.war ./* 必須是在 WEB-INF 目錄下打包,將war包丟在 Tomcat的 webapps目錄即可,啟動(dòng)Tomcat后會(huì)幫你自動(dòng)解壓
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容