<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>Ch05_1ServletConfigContextPrj1</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextparam1</param-name>
<param-value>contextparamValue1</param-value>
</context-param>
<context-param>
<param-name>contextparam2</param-name>
<param-value>contextparamValue2</param-value>
</context-param>
<servlet>
<servlet-name>ServletA</servlet-name>
<servlet-class>xyz.ServletA</servlet-class>
<init-param>
<param-name>Servlet1</param-name>
<param-value>ServletValue1</param-value>
</init-param>
<init-param>
<param-name>Servlet2</param-name>
<param-value>ServletValue2</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ServletA</servlet-name>
<url-pattern>/ServletA</url-pattern>
</servlet-mapping>
</web-app>
package xyz;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletA extends HttpServlet {
private static final long serialVersionUID = 1L;
public ServletA() {
super();
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext context=this.getServletContext();
String contextparam1=context.getInitParameter("contextparam1");
String contextparam2=context.getInitParameter("contextparam2");
ServletConfig config=this.getServletConfig();
String param1=config.getInitParameter("Servlet1");
String param2=config.getInitParameter("Servlet2");
PrintWriter write=response.getWriter();
write.write("param1:"+param1);
write.write("<br/>");
write.write("parm2:"+param2);
write.write("<br/>");
write.write("contextparm1:"+contextparam1);
write.write("<br/>");
write.write("contextparm2:"+contextparam2);
write.write("Visit Count:"+visitCount());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
private int visitCount() {
ServletContext context=this.getServletContext();
Object obj=context.getAttribute("num");
int num=0;
if(obj==null) {
context.setAttribute("num", 1);
}else {
num=Integer.parseInt(obj.toString());
num++;
context.setAttribute("num",num);
}
return num;
}
}
package xyz;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name="third",
urlPatterns="/c",
loadOnStartup= 1,
initParams= {
@WebInitParam(name="p1",value="p1Value"),
}
)
public class ServletB extends HttpServlet {
private static final long serialVersionUID = 1L;
public ServletB() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter write=response.getWriter();
ServletContext context=this.getServletContext();
Enumeration<String> params=context.getInitParameterNames();
while(params.hasMoreElements()) {
String paramName=params.nextElement();
String paramValue=context.getInitParameter(paramName);
write.write(paramValue);
write.write("<br/>");
}
write.write("Visit Count:"+visitCount());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
private int visitCount() {
ServletContext context=this.getServletContext();
Object obj=context.getAttribute("num");
int num=0;
if(obj==null) {
context.setAttribute("num", 1);
}else {
num=Integer.parseInt(obj.toString());
num++;
context.setAttribute("num",num);
}
return num;
}
}