Servlet应用进阶

<?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;

/**
 * Servlet implementation class ServletA
 */
//@WebServlet("/ServletA")
public class ServletA extends HttpServlet {
	
    //private ServletConfig config;
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ServletA() {
        super();
        // TODO Auto-generated constructor stub
    }
    @Override
//	public void init(ServletConfig config) throws ServletException {
//		// TODO Auto-generated method stub
//    	this.config=config;
//		super.init(config);
//	}
	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	//获取全局变量参数
    	ServletContext context=this.getServletContext();
    	//获取全局变量参数的值
    	String contextparam1=context.getInitParameter("contextparam1");
    	String contextparam2=context.getInitParameter("contextparam2");
		// TODO Auto-generated method stub
    	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());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		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;

/**
 * Servlet implementation class ServletB
 */
@WebServlet(name="third",//虚拟名字
        urlPatterns="/c",//虚拟路径
        loadOnStartup= 1,//加载优先权
        initParams= {
        	  @WebInitParam(name="p1",value="p1Value"),//初始化默认参数
        }
)
public class ServletB extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ServletB() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		PrintWriter write=response.getWriter();
		ServletContext context=this.getServletContext();
		//获取Servlet对象中所有参数
		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());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		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;
	}

}

发布了89 篇原创文章 · 获赞 56 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_44867340/article/details/105333721