ServletContext-14
来源:互联网 发布:知乎 张艺兴 编辑:程序博客网 时间:2024/06/05 05:19
表示Servlet的上下文,该接口由容器实现,每个部署到容器的的Web项目都有唯一的ServletContext接口的实例与之关联,他是包含在ServletConfig实例中的
ServletConfig提供的功能
获取环境信息
读取全局参数
访问静态资源
保存与读取全局属性
动态注册Servlet,filter,listener
在Servlet中获取ServletContext的实例
1.在init方法中:ServletConfig中的getServletContext方法
2.在service方法中:
GenericServlet中的getServletContext方法
ServletRequest中的getServletContext方法
得到过后就可以获取环境信息了,方法请参见api
全局参数的配置与读取
在web.xml中使用context-param,param-name,param-value等标签配置的全局参数
访问静态资源
package com.ls.javaees1;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.net.MalformedURLException;import java.net.URL;import java.util.Enumeration;import java.util.Set;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;@WebServlet(name = "servlet1", urlPatterns = "/servlet1", loadOnStartup = 1)public class Servlet1 extends HttpServlet { @Override public void init(ServletConfig config) throws ServletException { ServletContext context = config.getServletContext(); System.out.println(context.getServerInfo()); System.out.println(context.getMajorVersion()); System.out.println(context.getMinorVersion()); System.out.println(context.getServletContextName()); System.out.println(context.getContextPath()); System.out.println(context.getVirtualServerName()); Enumeration<String> names = context.getInitParameterNames(); while(names.hasMoreElements()){ String name=names.nextElement(); System.out.println(name+"="+context.getInitParameter(name)); } try { URL url=context.getResource("/index.jsp"); System.out.println(url); } catch (MalformedURLException e) { e.printStackTrace(); } InputStream is=context.getResourceAsStream("/index.jsp"); Set<String> paths=context.getResourcePaths("/"); for (String path : paths) { System.out.println(path); } System.out.println(context.getRealPath("/")); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletContext context1 = getServletContext(); ServletContext contex2 = request.getServletContext(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); out.print(" This is "); out.print(this.getClass()); out.println(", using the POST method"); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); }}
阅读全文
0 0
- ServletContext-14
- ServletContext
- ServletContext
- servletcontext
- servletContext
- servletContext
- servletcontext
- ServletContext
- ServletContext
- servletContext
- ServletContext
- ServletContext
- servletContext
- ServletContext
- servletContext
- ServletContext
- servletContext
- ServletContext
- 反编译
- 解决MySQL登录ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor)问题
- 分布式服务的事务如何处理
- 闪银奇异安全负责人:互金行业安全建设的四个心得
- mac mysql数据库安装
- ServletContext-14
- 170906_学习测试(二)_Apache JMeter 入门一
- ctf常见php弱类型分析
- UVA 10881
- filebeat multiline配置
- phpstudy域名站点设置
- Spring Boot -- Controller之Validate参数校验
- 1067. Sort with Swap(0,*) (25)
- Java并发编程:(3)synchronized和Lock