Servlet web.xml配置详解
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>com.web.AServlet</servlet-class> //servlet路径
<init-param>
<param-name>p1</param-name> //初始化参数名字和值
<param-value>v1</param-value>
</init-param>
<load-on-startup>0</load-on-startup> //设置servlet随服务器启动
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/AServlet</url-pattern> //url映射
</servlet-mapping>
url-pattern中的内容为 匹配的servlet的访问路径。
/servlet/* 路径匹配
*.action 扩展名匹配
/* 匹配所有URL(慎用)
- ## ServlerContext ##
一个项目只有一个ServlerContext对象。可以在多个Servlet中来获取这个唯一的对象,使用它可以给多个Servlet传递数据
这个对象在Tomcat启动时就创建,在Tomcat关闭时消失。
ServletContext测试,建立AServlet和BServlet,设置AServlet设置值,BServlet取值
AServlet:
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext application = this.getServletContext();
application.setAttribute("name","张三");
}
}
BServlet:
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext application = this.getServletContext();
application.getAttribute("name");
System.out.println("Hello Servle!");
}
}
网站访问量统计小案例
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext application = this.getServletContext();
Integer count=(Integer) application.getAttribute("count");
if(count == null){
application.setAttribute("count",1);
}else {
application.setAttribute("count",count+1);
}
response.setContentType("text/html;charset=utf-8");
response.getWriter().print("访问次数:"+count);
}
}