Соңғы оқу құралында ServletConfig , сервлет контейнері баптандыру кезінде әр сервлет үшін ServletConfig нысанын жасайды. СервлетConfig және ServletContext арасындағы негізгі айырмашылық, ServletConfig-тен өзгеше, ServletContext веб-бағдарлама үшін бір рет жасалады, яғни ServletContext нысаны веб-бағдарламадағы барлық сервлеттерді ортақ етеді.
ServletContext нысанын жасай аламыз. Бұл кодта init () әдісінің нысанын жасаймыз, бірақ сіз кез-келген нысанды өзіңіз қалаған жерде жасай аласыз.
ServletContext sc; public void init (ServletConfig scfg) { sc = scfg.getServletContext (); }
ServletContext
нысаны бар болса, setAttribute()
әдісін пайдалану арқылы ServletContext
нысанының атрибуттарын орната аламыз. СервлетContext нысаны веб-бағдарламаның барлық сервлеттеріне қол жетімді болғандықтан, басқа сервлеттер getAttribute()
әдісінің көмегімен ServletContext нысанынан төлсипатты шығара алады.
Мәтінмәнді баптандыру параметрі
Контекстің инициализация параметрлері - орналастыру дескрипторында (web.xml файлы) көрсетуге болатын параметр атаулары мен мән жұптары. Мұнда веб-бағдарламадағы барлық сервлеттерге қол жетімді болатын параметрлерді көрсетуге болады.
Веб-қосымшаны қолданған кезде, Servlet контейсі инициализация параметрін web.xml файлынан оқиды және оның көмегімен ServletContext нысанын баптайды. Параметр мәнін және параметр атауларының атауын алу үшін, ServletContext интерфейсінің getInitParameter()
және getInitParameterNames()
әдістерін қолдана аламыз.
Мысалға, мұнда email_id параметрін мәнмен анықтадым, себебі бұл барлық сервлеттер үшін ортақ болғандықтан, кез-келген сервлетте параметрдің атауын және мәнін алуға болады.
<context-param> <param-name> email_id </ param-name> <param-value> [email protected] </ param-value> параметрін таңдаңыз </ context-param>
ServletContext толық мысал: баптау параметрлерін алу
Бұл мысалда бізде web.xml файлындағы екі контекст баптандыру параметрі (пайдаланушы аты мен пайдаланушының электрондық поштасы) бар және біз берілген параметрдің мәнін қайтаратын getInitParameter () әдісін пайдаланып Servlet-да мәнді аламыз.
DemoServlet.java
import java.io. *; import javax.servlet. *; import javax.servlet.http. *; public class DemoServlet кеңейтеді HttpServlet {public void doGet (HttpServletRequest сұрауы, HttpServletResponse жауап)ServletException, IOException шығарады{response.setContentType («text / html»);PrintWriter pwriter = response.getWriter ();// ServletContext нысанын жасауServletContext scontext = getServletContext ();// баптандыру параметрлерінің мәндерін алу және басып шығаруСілтегі userName = scontext.getInitParameter («uname»);pwriter.println («Пайдаланушы аты =» + userName);String userEmail = scontext.getInitParameter («электрондық пошта»);pwriter.println («Email Id =» + userEmail);pwriter.close ();} }
web.xml
<web-app> <сервлет><servlet-name> BeginnersBook </ servlet-name><servlet-class> ДемоServlet </ servlet-class> </ servlet> <context-param><param-name> uname </ param-name><param-value> ChaitanyaSingh </ param-value> </ context-param> <context-param><param-name> email </ param-name><param-value> [email protected] </ param-value> параметрін таңдаңыз </ context-param> <сервлет-карталау><servlet-name> BeginnersBook </ servlet-name><url-pattern> / context </ url-pattern></ servlet-mapping> </ web-app>
Шығару:
ServletContext интерфейсінің әдістері
СервлетContext интерфейсінде жиі қолданылатын әдістер тізімі келтірілген.
public String getInitParameter (String param) : Берілген параметрдің мәнін қайтарады немесе егер параметр жоқ болса, бос болады.
public санау getInitParameterNames () : Мәтінмән параметрлері аттарының санағын береді.
public void setAttribute (String атауы, Object object) : берілген төлсипат атауына төлсипат мәнін орнатады.
public Object getAttribute (String name) : атрибут мәнін берілген ат үшін қайтарады немесе атрибут жоқ болса бос.
public String getServerInfo () : сервлет іске қосылған сервлет контейнерінің атын және нұсқасын өзгертеді.
public String getContextPath () : веб-бағдарламаның мәтінмән жолын қайтарады.
Әдістердің толық тізімін алу үшін ресми құжаттамаға сілтеме жасаңыз.
Пікір қалдыру Жауапты