Ⅰ Java中的Servlet的定義,Servlet的具體用途
Servlet是一個實現了Servlet介面的類,一個與訪問協議和平台無關的、運行在Servlet容器中的Java程序。
針對Servlet實現技術,SUN公司提供了一套標準的Java Servlet API以便於更快速、規范地開發Servlet程序。這套Servlet API中,最重要的兩個軟體包是:javax.servlet、javax.servlet.http。
javax.servlet是一個與通信協議無關的通用軟體包;javax.servlet.http是一個支持HTTP訪問協議的軟體包,這兩個軟體包的同時存在,使得Servlet API能支持任何協議的請求/響應。
在javax.servle中,包含著一套常用介面,負責承擔指定的任務。下表中列出了常用的類和介面:
javax.servlet軟體包:
javax.servlet包中定義了與通信協議無關的介面和類。
常用介面:
RequestDispatcher、Servlet、ServletConfig、ServletContext、ServletRequest、ServletResponse。
常用類:
GenericServlet、ServletInputStream、ServletOutputStream。
1、RequestDispatcher介面
public interface RequestDispatcher;
資源調度器介面,用於定義一個在伺服器內部直接實現資源轉發的對象。
RequestDispatcher對象由Servlet容器創建,用於封裝並調度由一個特定的URL定義的伺服器資源。
(1)請求傳遞方法
public void forward(ServletRequest request,
ServletReponse response) throws ServletException,IOException
從一個Servlet向伺服器上的另一個資源傳遞請求。
將請求轉發給其他資源時,將由被調用的資源負責對請求作出響應,而原先Servlet的執行則終止。
public void include(ServletRequest request,
ServletResponse response) throws ServletException,IOException
從一個Servlet向伺服器上的另一個資源傳遞請求。
將請求轉發給其他資源時,被調用的Servlet對該請求作出的響應將並入原先的響應對象中,原先的Servlet還可以繼續輸出響應消息。
2、Servlet介面
public interface Servlet;
開發一個Servlet需要實現的基礎介面。
介面中定義了5個方法:
init():Servlet初始化方法,通過init()方法可以獲得容器創建的ServletConfig對象
service():請求處理方法
destroy():Servlet實例銷毀方法
getServletConfig():獲取ServletConfig配置對象方法
getServletInfo():獲取Servlet相關信息方法
(1)初始化方法
public void init(ServletConfig config) throws ServletException
Servlet容器會在Servlet實例化之後,調用init方法對Servlet對象進行初始化,該方法由Servlet容器順序調用,無需Servlet自身考慮何時執行。
(2)服務方法
public void service(ServletRequest request,
ServletResponse response) throws ServletException,IOException
當Servlet容器接收到客戶請求時,調用service方法響應客戶請求,service方法在Servlet實例化、初始化之後被調用,並且可以被多次調用。
(3)銷毀方法
public void destroy()
當Servlet實例從伺服器中移除或服務停止時,Servlet容器調用destroy方法銷毀Servlet實例。
(4)獲取Servlet配置對象方法
public ServletConfig getServletConfig()
獲取一個由Servlet容器創建的ServletConfig配置對象,這個對象常常用在Servlet初始化方法中,將初始化參數封裝在ServletConfig對象中,然後傳遞給Servlet。
(5)獲取Servlet相關信息方法
public String getServletInfo()
獲取關於Servlet的一些相關信息,返回的字元串是純文本格式而不帶有任何標記(例如:HTML、XML等)。
3、ServletConfig介面
public interface ServletConfig;
Servlet配置信息介面,在Servlet初始化時,Servlet容器將Servlet初始化參數封裝在ServletConfig對象中,並傳遞給Servlet,一個Servlet實例只有一個ServletConfig對象。
介面中,只定義了4個方法:
getInitParameter():獲取Servlet指定初始化參數的值
getInitParameterNames():獲取Servlet所有初始化參數名稱
getServletContext():獲取Servlet容器為WEB應用創建的Servlet上下文環境對象ServletContext
getServletName():獲取Servlet名稱
(1)獲取初始化參數方法
public String getInitParameter(String name)
根據初始化參數名稱,獲取Servlet指定初始化參數的值,如果指定的參數不存在,返回空值null。
public Enumeration getInitParameterNames()
獲取Servlet所有初始化參數名稱,如果Servlet沒有初始化參數,返回一個空列表。
(2)獲取Servlet上下文環境方法
public ServletContext getServletContext()
獲取Servlet容器為WEB應用創建的Servlet上下文環境對象ServletContext,WEB伺服器啟動的時候,在載入WEB應用時,為每個載入的WEB應用創建一個代表WEB應用Servlet上下文環境對象。
(3)獲取Servlet名稱方法
public String getServletName()
獲取正在訪問的這個Servlet的名稱。
以上就是Servlet相關問題的解答,更多關於Java Web方面的問題可以看下這個詳細的視頻教程網頁鏈接,希望我的回答能幫到你。
Ⅱ servlet在哪個文件中進行配置如何配置servlet
從映射名查找servlet名,因為你的跳轉肯定是servlet的映射名,而不是servlet類名,所以先根據你的跳轉獲取你的servlet跳轉路徑url,找到web.xml中servlet-mapping的url-pattern,然後找到servlet-name,通過servlet-name找到servlet的servlet同名的servlet-class,然後調用該servlet的類。
Ⅲ 怎麼配置servlet
一、servlet的配置
servlet有兩種配置的方法
1.在web.xml文件中配置
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>com.hwua.servlet.LoginServlet</servlet-class></servlet><servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/login</url-pattern></servlet-mapping>
2.在servlet中用Java註解的方式配置
使用註解配置Servlet的步驟:
1. 在Servlet類上貼@WebServlet註解2. 在web.xml文件中進行如下的配置
metadata-complete="true":表示是否忽略Servlet上面的註解
metadata-complete="false"表示是否不忽略Servlet上面的註解,預設值
二、servlet生命周期
public void init(ServletConfig config):初始化方法,在第一次請求時調用,只在最初的時候調用一次.
public void service(ServletRequest req, ServletResponse res):服務方法
public void destroy():銷毀方法
- <init-param>
- <param-name>name</param-name>
- <param-value>admin</param-value></init-param>
- String name = config.getInitParameter("name");
- <context-param>
- <param-name>driver</param-name>
- <param-value>oracle.jdbc.OracleDriver</param-value></context-param>
- ServletContext servletContext = config.getServletContext();
- String initParameter = servletContext.getInitParameter("driver");
- <load-on-startup>1</load-on-startup>
- load-on-startup 的參數是大於等於0的 負數沒有效果load-on-startup 必須在參數init-param標簽的下面 否則init-param會失效
- String getContextPath():獲取上下文路徑,<Context path="上下文" ../>
- String getHeader(String headName):根據指定的請求頭獲取對應的請求頭的值. String getRequestURI():返回當期請求的資源名稱. 上下文路徑/資源名
- StringBuffer getRequestURL():返回瀏覽器地址欄的內容 String getRemoteAddr():返回請求伺服器的客戶端的IP
- String getParameter(String name):根據參數名稱,獲取對應參數的值.String[] getParameterValues(String name):根據參數名稱,獲取該參數的多個值.
- Enumeration<String> getParameterNames():獲取所有請求參數的名字Map<String,String[]> getParameterMap():返回請求參數組成的Map集合.
- key:參數名稱
- value:參數值,封裝在String數組中.
三、在web.xml文件中設置/獲取初始化參數
1.作用域當前的servlet 寫在servlet標簽中
過去參數 在init方法中
2.上下文參數 寫在web-app標簽中
獲取參數 在init方法中
四、設置servlet啟動的時間
默認情況下servlet是在第一次被請求時啟動的
通過在web.xml文件中設置
注意:
五、常用方法:
六、獲取請求參數的方法:
Ⅳ 如何利用servletcontext和servletconfig對象獲得初始化參數
七、ServletConfig對象
在Servlet的配置文件中可以使用一個或多個<init-param>標簽為Servlet配置初始化參數,web伺服器會在創建Servlet對象時,將這些參數封裝在ServletConfig對象中,因此我們可以通過ServletConfig對象來獲取一個Servlet的初始化參數。通常將Servlet運行時要讀取的配置文件寫在這里。
八、ServletContext對象
ServletContext對象代表了一個應用,他是一個Context域對象,它裡面的方法主要是一些全局性的方法,可以用來存儲各個Servlet之間的共享數據。
ServletContext對象的應用場景,主要用於Servlet之間數據共享(可以用來做聊天室),獲取web應用的初始化參數,實現Servlet轉發,讀取資源文件。
配置web應用的初始化參數,在web.xml文件中使用標簽<context-param>,通常在這里配置資料庫連接,
Servlet的轉發和重定向,轉發(你來請求我,我將請求轉給他),通常轉發給jsp用來美化輸出,重定向(你來請求我,我讓你重新請求他)
RequestDispatcher rd = this.getServletContext().getRequestDispatcher("/1.jsp");
rd.forward(request,response);
九、利用ServletContext讀取資源文件
1.
1 InputStream stream = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");
2 Propertied prop = new Properties();
3 prop.load(stream);
4 prop.getProperty("user");
2.
//這種方式,可以很方便的獲取文件名稱
String path = this.getServletContext().getRealPath("/WEB-INF/classes/db.properties");
FileInputStream inStream = new FileInputStream(path);
Propertied prop = new Properties();
prop.load(stream);
prop.getProperty("user");
十、Java web應用中非Servlet程序讀取資源文件
1.
//使用類裝載器,文件不能太大
public class UserDao
{
private static Properties prop = new Properties();
static
{
//InputStream inStream = UserDao.class.getClassLoader().getResourceAsStream("db.properties"); 這種方式無法獲取到更新後的數據
String path = UserDao.class.getClassLoader().getResource("db.properties");
FileInputStream inStream = new FileInputStream(path); //這種方式可以獲取到更新後的數據
prop.load(inStream);
}
public void update()
{
//引用inStream
}
public void find()
{
//引用inStream
}
}
Ⅳ servlet如何使用
Servlet是響應客戶端請求的技術。就是一個運行在Web伺服器上的,由伺服器實例化,並根據客戶端發送過來的請求,調用其中相應方法的一個類。
q理解HTTP Servlet 基礎知識
q使用 Servlet API
q理解Servlet 的生命周期
q使用JBuilder2005演示Servlet
本章很重要,首先要理解servlet的作用,就是用來響應客戶端的請求的;然後理解servlet的運行機制,就是什麼時候響應客戶端請求,由伺服器調用什麼方法來處理客戶端請求;再具體的看每個方法,這時看到方法中出現的一些類,再來理解這些類使用來實現什麼功能的。(理解思路)
知識點:
1、生命周期(本節了解servlet何時被調用何方法來處理客戶端請求,注意理解每個方法的作用和調用時間。)
生命周期: (重點)
實例化—————————〉初始化——〉服務——〉破壞——〉不可用
| | | |
| | | |
容器創建servlet實例 init() service() destroy()
2、在HttpServlet類中,doGet()和doPost()分別被用來對客戶端get請求和post請求來做處理。
3、servlet 應用程序體系結構
在理解了servlet的各個方法是何時被調用之後,再來看每個方法中使用到的這些類是做什麼用的,這樣再來決定什麼時候來使用這些類。
整個servlet的應用程序中,所有的類構成了servlet-API
ServletInputStream類
該類創建的對象用於從客戶端請求中讀取二進制數據。(用途決定了什麼時候使用該類。如果現在要我們從客戶端的請求中讀取數據,則要考慮到使用該類)
ServletOutputStream類
該類用於將二進制數據傳送給客戶端。其類中有print(),println()方法可以用來往客戶端輸出。
ServletRequest介面
該介面對象用於接受客戶端請求信息。它的子介面HttpServletRequest用作於doGet()方法的參數,用來接受Servlet容器傳遞過來的客戶端請求。也就是說,Servlet容器,將客戶端請求封裝成一個HttpServletRequest類型對象,並傳遞給doGet()方法。由 該方法中HttpServletRequest刑參接受。
ServletResponse介面,
該介面用於接受向客戶端發送的響應。它的子介面HttpServletResponse用於doGet()方法的參數,用於接受Servelt容器傳遞過來的對客戶端的響應。也就是說,Servlet容器,創建了HttpServletReponse類型的對象,用於表示對客戶端的響應,並傳遞給doGet()方法。那麼我們在doGet()方法中可以通過設置該對象來設置對客戶端的響應。
HttpServletRequest介面(重點)
HttpServletResponse介面(重點)
ServletConfig介面
該介面對象是用於傳遞Servlet的配置信息的。我們在web.xml中配置了關於Servlet的配置信息,而該Servlet被實例化的時候,Servlet容器從web.xml中提取出有關Servlet的初始化信息並且封裝成為一個ServletConfig類型的對象,傳遞給init()方法。(那我們就可以在init()方法中,通過該對象獲取Servlet的初始化信息了。)
ServletContext介面(重點)
該介面用於創建一個生存周期為整個應用程序的對象,並用它來存儲一些整個應用程序中要使用的變數。
對於每個應用程序Servlet容器將會創建出一個ServletContext類型的對象,並一直存在知道應用程序不再發布在伺服器上。那麼我們就可以使用該對象來保存一些變數,這些變數在整個應用程序生命周期內都存在。
注意,當有變數要存儲於某個范圍內時,注意區別、聯系、比較該對象與針對於每個客戶端創建的HttpSession對象(session);針對於每請求創建的HttpRequestServlet對象;針對於每個頁面創建的PageContext對象(page)
Ⅵ spring4框架中如何實現servlet功能
Spring管理filter和servlet
在使用spring容器的web應用中,業務對象間的依賴關系都可以用context.xml文件來配置,並且由spring容器來負責依賴對象 的創建。如果要在filter或者servlet中使用spring容器管理業務對象,通常需要使用
WebApplicationContextUtils.(getServletContext())來獲得WebApplicationContext,然後調用WebApplicationContext.getBean("beanName")來獲得對象的引用,這實際上是使用了依賴查找來獲得對象,並且在filter或者servlet代碼中硬編碼了應用對象的bean名字。為了能在filter或者servlet中感知spring中bean,可採用如下步驟來實現:
1- 將filter或者servlet作為bean定義在context.xml文件中,和要應用的bean定義放在一起;
2- 實現一個filter代理或者servlet代理,該代理用WebApplicationContext來獲得在context.xml中定義的filter或者servlet的對象,並將任務委託給context.xml中定義的filter或者servlet
3- 在web.xml中用ContextLoaderListener來初始化spring 的context,同時在filter代理或者servlet代理的定義中用初始化參數來定義context.xml中filter或者servlet的bean名字(或者直接受用代理的名稱獲得相應的filter或者servlet的名稱)。
4- 在web.xml中定義filter代理或者servlet代理的mapping.
利用這種方式就將filter或者servlet和業務對象的依賴關系用spring 來進行管理,並且不用在servlet中硬編碼要引用的對象名字。
具體實例如下:
Filter
1. 在applicationContext.xml中定義filter
<bean id="springFilter" class="com.netqin.filter.SpringFilter">
<property name="name">
<value>SpringFilter</value>
</property>
</bean>
說明:com.netqin.filter.SpringFilter為實現了javax.servlet.Filter介面的filter
2. 實現filter代理
實際上,filter代理不需要我們自己來實現,Spring提供了兩種現成的filter代理
org.springframework.security.util.FilterToBeanProxy,
org.springframework.web.filter.DelegatingFilterProxy,兩者只是在web.xml中的配置上略有不同,下面就讓我們一起看看如何在web.xml中進行配置。
3. 配置web.xml
Ø 初始化spring的context
因為是使用spring來管理,所以在使用filter前先要初始化spring的context,一般來說配置如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
Ø Filter配置:
² FilterToBeanProxy
<filter>
<filter-name> springFilter </filter-name>
<filter-class>
org.springframework.security.util.FilterToBeanProxy
</filter-class>
<init-param>
<param-name>targetBean</param-name>
<param-value>springFilter</param-value>
</init-param>
</filter>
說明:需要為FilterToBeanProxy提供上下文參數,這里我們配置的是targetBean屬性,它告訴spring在context中查找的bean名稱,所以當請求被過濾器攔截後FilterToBeanProxy會在applicationContext.xml中會查找id為springFilter的bean.
我們也可以配置targetClass屬性,意思就是查找該類型的bean.
² DelegatingFilterProxy
<filter>
<filter-name>springFilter</filter-name>
<filter-class>
org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
說明:使用DelegatingFilterProxy時不需要配置任何參數,spring會根據filter-name的名字來查找bean,所以這里spring會查找id為springFilter的bean.
4. 配置filter的mapping
<filter-mapping>
<filter-name>springFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
OK!filter配置完成。推薦使用DelegatingFilterProxy,應為配置上更簡單。
Servlet
Servlet的配置與Filter的配置十分相似
1. 在applicationContext.xml中定義servlet
<bean id="springServlet" class="com.netqin.servlet.SpringServlet">
<property name="name">
<value>SpringServlet</value>
</property>
</bean>
說明:com.netqin.servlet.SpringServlet繼承自
javax.servlet.http.HttpServlet
2. 實現servlet代理
與filter不同,spring沒有為servlet提供代理實現,需要我們自己來創建,不過放心,創建一個servlet代理十分簡單,一個具體的實現如下:
import java.io.IOException;
import javax.servlet.GenericServlet;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
public class ServletToBeanProxy extends GenericServlet {
private String targetBean;
private Servlet proxy;
public void init() throws ServletException {
this.targetBean = getInitParameter("targetBean");
getServletBean();
proxy.init(getServletConfig());
}
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
proxy.service(req, res);
}
private void getServletBean() {
WebApplicationContext wac = WebApplicationContextUtils
.(getServletContext());
this.proxy = (Servlet) wac.getBean(targetBean);
}
}
Ⅶ 當tomcat初始化一個servlet時,會將該servlet的配置信息封裝到什麼對象中
說白了就是想當容器啟動時拉起一些服務唄,可以這么搞:(1)新建一個Servlet實現ServletContextListener介面,重寫contextInitialized用來執行啟動時要做的事情,例子中我拉起了一個線程,或者重寫contextDestroyed方法來執行容器銷毀時要做什麼。importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;{//初始化驅動線程DriveThreaddThread=null;privatestaticfinalLoggerlog=Logger.getLogger(MyServlet.class);@(ServletContextEventarg0){dThread=newDriveThread();dThread.start();log.debug("DriveThreadstart");}@(ServletContextEventarg0){log.debug("DriveThreadDestroyed");}}(2)在web.xml中配一個監聽com.lear.MyServlet(3)現在啟動吧~容器會拉起你的servlet
Ⅷ 一個控制器servlet組件需要完成那些工作
一、ActionServlet的初始化
ActionServlet 作為Struts組件的前端控制器,由於web.xml的相應配置:
<load-on-startup>0</load-on-startup>
在 應用一載入時即會被實例化並調用其init方法,init方法所做的主要工作有二:
1. 載入struts配置文件,並創建用於封裝配置信息的MoleConfig對象
2. 載入資源文件,並創建用於封裝資源文件的MessageResources對象
需要注意兩點:如果web.xml有多模塊配置,將創建多個 MoleConfig對象和MessageResources對象分別用於封裝各個模塊的struts配置文件和資源文件。
針對各個模塊所 創建的MoleConfig對象和MessageResources對象將
Ⅸ servlet 的作用是什麼
在 JavaWeb 項目中,處理請求和發送響應的過程是由一種叫做 Servlet 的程序來完成的,並且 Servlet 是為了解決實現動態頁面而衍生的東西。
簡單來講:Servlet其實就是一個遵循Servlet開發的java類,Serlvet是由伺服器調用的,運行在伺服器端。
一張圖描述 Servler 在 B/S 中的作用點:
2. Tomcat 和 Servlet 的關系
Tomcat 是Web應用伺服器,是一個Servlet/JSP容器。 Tomcat 作為 Servlet 容器,負責處理客戶請求,把請求傳送給 Servlet,並將 Servlet 的響應傳送回給客戶,而 Servlet 是一種運行在支持 Java 語言的伺服器上的組件。
Servlet 最常見的用途是擴展 Java Web 伺服器功能,提供非常安全的、可移植的、易於使用的 CGI 替代品。
從 Http 協議中的請求和響應可以得知,瀏覽器發出的請求是一個請求文本,而瀏覽器接收到的也應該是一個響應文本。但是在上面這個圖中,並不知道是如何轉變的,只知道瀏覽器發送過來的請求也就是 request,我們響應回去的就用 response。忽略了其中的細節,現在就來探究一下。
①:Tomcat 將 Http 請求文本接收並解析,然後封裝成 HttpServletRequest 類型的 request 對象,所有的 Http 頭數據讀可以通過request 對象調用對應的方法查詢到。
②:Tomcat 同時會要響應的信息封裝為 HttpServletResponse 類型的response 對象,通過設置 response 屬性就可以控制要輸出到瀏覽器的內容,然後將 response 交給 Tomcat,Tomcat 就會將其變成響應文本的格式發送給瀏覽器。
Java Servlet API 是Servlet容器(tomcat)和servlet之間的介面,它定義了Serlvet 的各種方法,還定義了 Servlet 容器傳送給 Servlet 的對象類,其中最重要的就是 ServletRequest 和 ServletResponse 。所以說我們在編寫Servlet時,需要實現 Servlet 介面,按照其規范進行操作。
3. Servlet 介面主要方法
Servlet 介面主要的 3 個方法:
init()方法:只會調用一次,只是在創建servlet實例的時候才會創建。
service()方法:是進行數據處理的,只要接受了一次請求,就會被調用一次
destroy()方法:銷毀 Servlet 對象的時候調用。停止伺服器或者重新部署 Web 應用時銷毀 Servlet 對象,同樣也是調用一次
- {
- init()...
- service()...
- getServletConfig()...
- ...
- }
- {
- @Override
- protectedvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
- //設置字元編碼
- request.setCharacterEncoding("utf8");
- //從request對象中獲取username,password
- Stringusername=request.getParameter("username");
- Stringpassword=request.getParameter("password");
- request.setAttribute("username",username);
- request.setAttribute("password",password);
- request.getRequestDispatcher("/index2.jsp").forward(request,response);;
- }
- }
- <web-app>
- <display-name></display-name>
- <servlet>
- <servlet-name>MyServlet</servlet-name>
- <servlet-class>club.sscai.demo.MyServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>MyServlet</servlet-name>
- <url-pattern>/MyServlet</url-pattern>
- </servlet-mapping>
- </web-app>
- <html>
- <body>
- <h2>2222222</h2>
- username:<%=request.getParameter("username")%>
- <br>
- password:<%=request.getParameter("password")%>
- </body>
- </html>
4. 編寫 Servlet
首先說明一點疑惑,有時候我們在一些資料上看到別人這樣寫:
而在這我們要繼承 HttpServlet類 那麼問題來了,繼承HttpServlet 和實現Servlet 有什麼區別?
首先,直觀的不同,Servlet 是一個介面,如果實現這個介面,那麼就必須實現介面裡面定義的所有方法。
而 HttpServlet 實現了 Servlet 介面,並把 Servlet 介面中的方法實現了。
繼承 Httpservelt,實際上也就實現了 Servlet 介面。
但是我們沒必要再去實現 Servlet 中定義的生命周期方法,因為在 Httpservlet 中已經有了默認實現,並且這些默認實現也挺規范和實用, doget 和 dopost 是執行用戶請求的終點,get 請求會調用 doget 方法,post 請求會執行 dopost 方法,我們可以在這2個方法中定義我們自己的業務邏輯。
最後,HttpServlet 在實現 Servlet 介面的時候,已經實現了 Servlet 中所有的方法,因此繼承自 HttpSrvlet 的類,不需要再去覆寫相應的生命周期等方法。
4.1 編寫Java類,繼承HttpServlet
創建一個 MyServlet java 類,繼承 HttpServlet 實現 service 方法:
4.2 配置web.xml文件
web.xml 配置 Servlet 訪問路徑,能讓別人通過鏈接訪問到你的 Servlet:
4.3 jsp 界面顯示
index2.jsp:
Ⅹ Servlet Config 與Servlet context 的作用
servlet config對象可以使用一個或多個<init-param>標簽為servlet配置一些初始化參數,servlet配置了初始化參數後,web容器在創建servlet實例對象時,會自動將這些初始化參數封裝到ServletConfig對象中,並在調用servlet的init方法時,將ServletConfig對象傳遞給servlet。進而,程序員通過ServletConfig對象就可以得到當前servlet的初始化參數信息。
WEB容器在啟動時,它會為每個WEB應用程序都創建一個對應的ServletContext對象,它代表當前web應用。
ServletConfig對象中維護了ServletContext對象的引用,開發人員在編寫servlet時,可以通過ServletConfig.getServletContext方法獲得ServletContext對象。