JavaWeb入門基礎---Servlet入門

什麼是Servlet

Servlet簡介

  • Servlet( Server Applet)是 Java servlet的簡稱,稱爲小服務程序或服務連接器
  • 用Java編寫的服務器端程序
  • 主要功能在於交互式地瀏覽和修改數據,生成動態Web內容。

第一個Servlet

創建LoginServlet

package cn.java.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 獲取表單提交過來的數據
        // getParameter()方法可以獲取請求的參數信息
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        // 打印獲取到的參數信息
        System.out.println("username=" + username);
        System.out.println("password=" + password);
        // 如果usename=admin,password=123則跳轉到success.jsp,否則跳轉到fail.jsp
        // 1、通過轉發實現跳轉
        if ("admin".equals(username) && "123".equals(password)) {
            request.getRequestDispatcher("/success.jsp").forward(request, response);
        } else {
            // request.getRequestDispatcher("/fail.jsp").forward(request,
            // response);
            response.sendRedirect("/imooc_servlet1/fail.jsp");
        }

    }

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

}

給LoginServlet配置一個對外訪問的虛擬路徑

index.jsp

success.jsp

fail.jsp

登錄成功:

Serverlt的生命週期

Servlet生命週期分爲三個階段:

  • 1,初始化階段調用init()方法
  • 2,響應客戶請求階段調用 service()方法
  • 3,終止階段調用 destroy()方法

多次調用:

從tomcat移除會被銷燬

HttpServeltRequest(請求)與HttpServeltResponse(響應)

請求與響應

  • 瀏覽器對服務器的一次訪問稱之爲一次請求,請求用 HttpServletRequest對象來表示
  • 服務器給瀏覽器的一次反饋稱之爲一次響應,響應用 HttpServletResponse對象來表示

ServeltContext與ServletConfig

  • Java是一門面對對象的語言,萬事萬物皆是對象。整個JavaWeb工程也可以用一個對象來表示,這個對象就是ServletContext類型
  • 我們可以在web.xml文件中給某一個Servlet配置一些配置信息,當服務器被啓動的時候,這些配置信息就會被封裝到一個ServletConfig對象中去。因此ServletConfig表示的是某一個Servlet的配置文件

然後在Demo2Servlet獲取username

獲取配置信息

 

重定向與轉發

  • 實現轉發調用的是 HttpServletRequest對象中的方法,實現重定向調用的是 HttpServletReSponse對象中的方法
  • 轉發時瀏覽器中的ur地址欄不會發生改變,重定向時瀏覽器中的ur地址會發生改變
  • 轉發時瀏覽器只請求一次服務器,重定向時瀏覽器請求兩次服務器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章