Servlet、Servlet过滤器、Servlet监听器
2014-02-01 12:04
369 查看
1、Servlet是实现(implements)Servlet接口或继承(extends)Servlet接口的实现类HttpServlet的java类,首先要进行配置:@WebServlet("/Sevlet名"),另一种配置方式为在web.xml中进行配置
使用servlet可以实现页面的转发,利用RequestDispatcher接口的forward()方法
使用servlet可以处理表单数据,在index.jsp文件中提交表单form1到servlet中处理,
在servlet中的处理为:
2、Servlet过滤器需要实现(implements)java.servlet.Filter接口,直接的配置方式为在类中
使用Servlet过滤器可以实现网页访问计数器的功能,原理是将计数变量的值在该类的doFilter()方法中递增,因为客户端在请求服务器中的Web应用时,过滤器的拦截请求是通过doFilter()方法进行过滤处理的
3、Servlet监听器可以监听到在特定时间发生的时间,并根据其作出相应的反应。与此相关的是Servlet和Jsp的8个Listener接口和6个Event类
注意事项:
Servlet实现的接口或继承的类都来自tomcat的包,将tomcat的lib文件夹下的jsp-api.jar和servlet-api.jar这两个包添加到classpath下(右击项目,选择Java Build Path>Libraries>Add External JARS,找到你计算机中的tomcat的安装路径,在common\lib文件夹下),就可以在servlet类中导入这个包了(import javax.servlet.*;)。
使用servlet可以实现页面的转发,利用RequestDispatcher接口的forward()方法
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher requestDispatcher=request.getRequestDispatcher("main.jsp"); //创建 requestDispatcher.forward(request, response); //转发页面 }
使用servlet可以处理表单数据,在index.jsp文件中提交表单form1到servlet中处理,
<form id="form1" name="form1" method="post" action="MessageServlet">
在servlet中的处理为:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String person = request.getParameter("person"); String content = request.getParameter("content"); response.setContentType("text/html;charset=UTF-8"); 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("留言人:" + person + "<br>"); out.print("留言内容:" + content + "<br>"); out.println("<a href='8-4-index.jsp'返回</a>"); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); }
2、Servlet过滤器需要实现(implements)java.servlet.Filter接口,直接的配置方式为在类中
@WebFilter( filterName = "CountFilter" urlPatterns = { "/8-6-index.jsp" }, initParams = { @WebInitParam(name = "count", value = "1000") }) //属性介绍如下: //filterName用于指定Servlet过滤器名 //urlPatterns用于指定哪些URL应用该过滤器,若所有页面均使用该过滤器则属性值设为"/*" //initParams用于指定初始化参数
使用Servlet过滤器可以实现网页访问计数器的功能,原理是将计数变量的值在该类的doFilter()方法中递增,因为客户端在请求服务器中的Web应用时,过滤器的拦截请求是通过doFilter()方法进行过滤处理的
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { count ++; // 访问数量自增 // 将ServletRequest转换成HttpServletRequest HttpServletRequest req = (HttpServletRequest) request; // 获取ServletContext ServletContext context = req.getServletContext(); context.setAttribute("count", count); // 将来访数量值放入到ServletContext中 chain.doFilter(request, response); // 向下传递过滤器 }
3、Servlet监听器可以监听到在特定时间发生的时间,并根据其作出相应的反应。与此相关的是Servlet和Jsp的8个Listener接口和6个Event类
注意事项:
Servlet实现的接口或继承的类都来自tomcat的包,将tomcat的lib文件夹下的jsp-api.jar和servlet-api.jar这两个包添加到classpath下(右击项目,选择Java Build Path>Libraries>Add External JARS,找到你计算机中的tomcat的安装路径,在common\lib文件夹下),就可以在servlet类中导入这个包了(import javax.servlet.*;)。
相关文章推荐
- StartActivity
- lua的c api 总结
- js操作html的table,包括添加行,添加列,删除行,删除列,合并列
- 读书笔记-并发
- 搜索引擎名字引发的思考
- 搜索引擎名字引发的思考
- 读书笔记-并发
- 搜索引擎名字引发的思考
- 读书笔记-并发
- ffmpeg与x264编码指南
- 8个有趣的Linux提示与技巧!
- live555+ffmpeg如何提取关键帧(I帧,P帧,B帧)
- android 之WIFI操作
- linux 被入侵后扫尾工作
- 在ubuntu下使用ffmpeg分割视频
- H.264与H.265的比较
- java 分布式RMI的简单使用
- H.264参考帧管理方法
- H.264 Profile、Level、Encoder三张简图
- common/set.h的注释