我是靠谱客的博主 爱撒娇蚂蚁,最近开发中收集的这篇文章主要介绍Servlet3.0使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

HttpServlet抽象类专注接收Http请求
HttpServletRequest 接口继承ServletRequest接口 处理Http请求

@WebServlet("/webServlet")  //请求路径
public class WebServlet3 extends HttpServlet {
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		resp.getWriter().write("@WebServlet HttpServlet");
	}
}

ServletContainerInitializer Web容器启动时给第三方组件提供初始化工作,如添加Filter过滤器等,前提必须在对应的jar包的META-INF/services 目录创建一个名为javax.servlet.ServletContainerInitializer的file文件,该文件中指定实现ServletContainerInitializer 接口的子类路径 类上声明@HandlesTypes指定类,重写onStartup方法获取由@HandlesTypes感兴趣的类作为参数传进来

@HandlesTypes(value={AService.class})
public class SpringServletContainerInitlializer implements ServletContainerInitializer {

	@Override
	public void onStartup(Set<Class<?>> c, ServletContext ctx) throws ServletException {
		// TODO Auto-generated method stub
		System.out.println("onStartup..");
		for (Class<?> clazz : c) {
			System.out.println(clazz); //实现或继承AService感兴趣类
		}
	}
	//添加自定义servlet组件
		Dynamic servlet = ctx.addServlet("myServlet", MyServlet.class);
		//添加listener监听器
		ctx.addListener(MyListenner.class);
		//添加过滤器
		javax.servlet.FilterRegistration.Dynamic filter = ctx.addFilter("myFilter", MyFilter.class);
		//设置过滤规则
		filter.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true, "/*");

}

Filter接口 过滤器
public class MyFilter implements Filter {

@Override
public void init(FilterConfig filterConfig) throws ServletException {
	// TODO Auto-generated method stub

}

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
		throws IOException, ServletException {
	// TODO Auto-generated method stub
	System.out.println("拦截过滤请求");
	//过滤请求放行
	chain.doFilter(request, response);
}

@Override
public void destroy() {
	// TODO Auto-generated method stub
	
}

ServletContextListener 接口 容器监听器
servlet启动时进行监听或者添加自定义组件

public class MyListenner implements ServletContextListener {

	@Override
	public void contextInitialized(ServletContextEvent sce) {
		// TODO Auto-generated method stub
		ServletContext context = sce.getServletContext(); //servlet上下文 全局共享
		System.out.println("ServletContextListecontextInitializedner  contextInitialized");
	}

	@Override
	p8ublic void contextDestroyed(ServletContextEvent sce) {
		// TODO Auto-generated method stub
		System.out.println("ServletContextListecontextInitializedner  contextDestroyed");
	}
}

最后

以上就是爱撒娇蚂蚁为你收集整理的Servlet3.0使用的全部内容,希望文章能够帮你解决Servlet3.0使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部