1. 程式人生 > 實用技巧 >javaweb基礎:ServletContext物件

javaweb基礎:ServletContext物件

本質:ServletContext是servlet的中介軟體,為servlet儲存一些東西

  注:ServletContext是鄰駕與servlet之上的

1.ServletContext概述:

  web容器在啟動時,它會為每一個web程式都建立一個ServletContext物件,它代表當前的web應用

1.1共享資料

  在此Servlet中儲存資料,可在另一個servlet中拿到;

package com.king.servlet;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException { //this.getInitParameter(); servlet引數 //this.getServletConfig(); servlet配置 //this.getServletContext(); servlet上下文 ServletContext context = this.getServletContext(); String username="king";//資料 context.setAttribute("username",username);//
將一個數據儲存在ServletContext中,名字為:username } }
package com.king.servlet;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class GetServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        ServletContext context = this.getServletContext();
        String username = (String) context.getAttribute("username");

        resp.setContentType("text/html");
        resp.setCharacterEncoding("utf-8");
        resp.getWriter().print("名字"+username);

    }

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

web.xml配置

<?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_4_0.xsd"
         version="4.0"
         metadata-complete="true">

    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.king.servlet.HelloServlet</servlet-class>
    </servlet>
    <!--Servlet的請求路徑-->
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/king</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>getc</servlet-name>
        <servlet-class>com.king.servlet.GetServlet</servlet-class>
    </servlet>
    <!--Servlet的請求路徑-->
    <servlet-mapping>
        <servlet-name>getc</servlet-name>
        <url-pattern>/getc</url-pattern>
    </servlet-mapping>

</web-app>