Servlet--ServletContext(二)共享信息
Servlet--ServletContext(二)共享信息
一、ServletContext作用
1、獲取項(xiàng)目運(yùn)行的真實(shí)路徑
2、共享信息----ServletContext是項(xiàng)目的一個共享容器,當(dāng)tomcat啟動時,此類就被創(chuàng)建成功,當(dāng)項(xiàng)目關(guān)閉時才會結(jié)束。在該類中存放的信息可以被整個項(xiàng)目獲取,達(dá)到信息共享。同時也被用來做配置文件。
下面用一個例子描述Servlet實(shí)現(xiàn)共享信息的過程
二、ServletContext 共享信息
1、創(chuàng)建兩個servlet類,實(shí)現(xiàn)ServletContext對象的存儲信息和獲取信息。
第一個servlet onservlet
package test07_3context;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class OneServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=Utf-8");
PrintWriter out = response.getWriter();
//接受用戶名
String name = request.getParameter("name");
//創(chuàng)建context對象
ServletContext one = getServletContext();
//ServletContext對象添加name名稱
if(name!=null&& !name.trim().equals("")){
one.setAttribute("var", name);
}
//獲取添加的名稱
String on = (String) one.getAttribute("var");
out.println("獲取ServletContext存儲的名字:"+on);
}
}
第二個Servlet ?towServlet
package test07_3context;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TowServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
//在TowServlet中獲取OneServlet的值
ServletContext tow = getServletContext();
//獲取Oneservlet的setAttribute存儲的string名稱
String to = (String)tow.getAttribute("var");
out.print("在Tow中顯示one的名稱是:"+to);
}
}
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
3、寫一個發(fā)送post請求的前端頁面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
This is my JSP page.
1、OneServlet主要是發(fā)送信息,TowServlet主要是接受OneServlet發(fā)送的信息。當(dāng)One發(fā)送的信息,在Tow中可以看到說明信息是可以共享的。
2、打開瀏覽器,輸入測試地址:http://127.0.0.1:8080/test07_3/
3、在首頁中輸入信息,點(diǎn)擊提交
5、在打開另一個瀏覽器,輸入測試地址:?http://127.0.0.1:8080/test07_3/TowServlet
4、可以看到第一個瀏覽器提交的信息,當(dāng)?shù)谝粋€瀏覽器不斷的提交信息,第二個瀏覽器不斷的刷新就可以接受到第一個瀏覽器發(fā)送的信息。
Servlet
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。