JavaWeb開發必過關-Servlet學習(一)

yissan發表於2016-03-04

一、什麼是Servlet

servlet其實是一個小程式,它是執行在伺服器上的,一個servlet就是一個Java類,可以通過“請求-響應”程式設計模型來訪問這個駐留在伺服器記憶體的Servlet程式。總結下來我們就是兩點:1、執行在伺服器上的服務程式。2、能夠接收請求給出響應。

二、Tomcat等級

Tomcat容器分為四個等級, Servlet容器管理Context容器,一個Context容器對應一個WEB工程

tomcat容器等級

engine:表示一整個Catalina Servlet引擎
host:表示一個虛擬主機。
Context:表示一個web app應用,比如你做的一個網站
Wrapper:表示單個Servlet

三、用IntellijIdea手動編寫一個Servlet

,IntelliJ是是java語言開發的整合環境,在業界被公認為最好的java開發工具之一,如果你還沒有用,可以下載體驗一下。官網地址

首先建立一個web工程
這裡寫圖片描述

接著寫一個類繼承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就寫好了,是不是很簡單呢
這裡寫圖片描述
這裡寫圖片描述

有問題可以留言,喜歡我的文章記得加關注!我會堅持分享自己學習過程中遇到的問題和學到的知識。

相關文章