1. 程式人生 > 其它 >Servlet ServletContext

Servlet ServletContext

在父工程下新建一個servlet子工程,參考上一篇隨筆

同樣地更改web.xml以及新建一些目錄

GetServlet的程式碼:

package com.liyu.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 j =this.getServletContext(); String username = (String) j.getAttribute("usrname"); 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); } }

SetServlet的程式碼:

package com.liyu.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 SetServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext i= this.getServletContext(); String usrname = "liyu"; i.setAttribute("usrname",usrname); } }

然後更改tomcat的配置

在web.xml中配置servlet的路徑

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">
  <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <servlet-name>set</servlet-name>
    <servlet-class>com.liyu.servlet.SetServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>set</servlet-name>
    <url-pattern>/set</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>get</servlet-name>
    <servlet-class>com.liyu.servlet.GetServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>get</servlet-name>
    <url-pattern>/get</url-pattern>
  </servlet-mapping>
</web-app>

執行測試,先去http://localhost:8080/s2/set 再去http://localhost:8080/s2/get