1. 程式人生 > 其它 >javaweb學習09:ServletContext學習

javaweb學習09:ServletContext學習

javaweb學習09:ServletContext學習

  • ServletContext學習:

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

    • ServletContext物件是由容器建立的;

       

       

  • ServletContext應用:

    • 共享資料:我在這個Servlet中儲存的資料,可以在另外一個Servlet中拿到;

       

 

  • 共享資料程式碼案例:放資料

    //放資料
    public class HelloServlet extends HttpServlet {

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

           //this.getInitParameter();// 初始化引數
           //this.getServletConfig(); // servlet配置
           //this.getServletContext(); // servlet上下文

           ServletContext context = this.getServletContext();
           String username="張三";
           //將一個數據儲存到了ServletContext中,
           context.setAttribute("username",username);

      }
    }

     

  • 共享資料程式碼案例2:取資料

    //取資料
    public class GetServlet extends HttpServlet {

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

           ServletContext context = this.getServletContext();
           String str=(String)context.getAttribute("username");
           System.out.println(str);
           //設定編碼
           resp.setContentType("text/html");
           resp.setCharacterEncoding("UTF-8");
           resp.getWriter().print(""+str);

      }
    }

     

  • 共享資料程式碼案例: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">

       <!--<context-param>
           <param-name></param-name>
           <param-value></param-value>
       </context-param>-->

       <!--註冊servlet-->
       <servlet>
           <servlet-name>hello</servlet-name>
           <servlet-class>com.lesson.demo01.HelloServlet</servlet-class>
           <!--<init-param>
               <param-name></param-name>
               <param-value></param-value>
           </init-param>-->
       </servlet>
       
       
       <!--對映serlvet的路徑-->
       <servlet-mapping>
           <servlet-name>hello</servlet-name>
           <url-pattern>/hello</url-pattern>
       </servlet-mapping>


       <!--配置GetServlet-->
       <servlet>
           <servlet-name>getc</servlet-name>
           <servlet-class>com.lesson.demo01.GetServlet</servlet-class>
       </servlet>

       <servlet-mapping>
           <servlet-name>getc</servlet-name>
           <url-pattern>/getServlet</url-pattern>
       </servlet-mapping>

    </web-app>