发表于: 2018-03-09 23:53:14
0 613
完成
1.今天没有继续做任务6,而是回顾了之前的知识点
2.实现了一个拦截器和监听器
拦截器
public class FirstFilter implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
String ip = request.getRemoteAddr();
String url = request.getRequestURL().toString();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = new Date();
String date = sdf.format(d);
System.out.printf("%s %s 访问了 %s%n", date, ip, url);
chain.doFilter(request, response);
}
@Overridepublic void init(FilterConfig arg0) throws ServletException {
//与Servlet需要配置自启动才会随着tomcat的启动而执行init()方法不一样。
//Filter一定会随着tomcat的启动自启动。Filter是web应用非常重要的一个环节,如果Filter启动失败,或者本身有编译错误,不仅这个Filter不能使用,整个web应用会启动失败,导致用户无法访问页面。
System.out.println("First Filter init()");
// System.out.println("故意造成一个异常");
// Object o = null;
// o.toString();
}
}
web.xml
<filter>
<filter-name>FirstFilter</filter-name>
<filter-class>com.wlj.Filter.FirstFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>FirstFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
监听器ContextListener
public class ContextListener implements ServletContextListener{
@Override
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("web 应用销毁 ");
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("web 应用初始化 ");
}
}
监听器ContextAttributeListener
public class ContextAttributeListener implements ServletContextAttributeListener {
@Override
public void attributeAdded(ServletContextAttributeEvent e) {
System.out.println("增加属性 ");
System.out.println("属性是" + e.getName());
System.out.println("值是" + e.getValue());
}
@Override
public void attributeRemoved(ServletContextAttributeEvent e) {
// TODO Auto-generated method stub
System.out.println("移除属性 ");
}
@Override
public void attributeReplaced(ServletContextAttributeEvent e) {
// TODO Auto-generated method stub
System.out.println("替换属性");
}
}
web.xml
<listener>
<listener-class>com.wlj.Listener.ContextListener</listener-class>
</listener>
<listener>
<listener-class>com.wlj.Listener.ContextAttributeListener</listener-class>
</listener>
testContext.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
application.setAttribute("test", 1);
application.setAttribute("test", 2);
application.removeAttribute("test");
%>
访问testContext.jsp,控制台输出:
过滤器相关:
2018-03-09 23:42:20 0:0:0:0:0:0:0:1 访问了 http://localhost:8080/HelloWeb/h
监视器相关:
web 应用初始化
增加属性
属性是test
值是1
替换属性
移除属性
问题:
过滤器和监视器这块研究不深,还有
上午回顾了一下java语法发现好多都不懂,以后补回来
收获
总结性看了看Java EE,对各个知识点映像加深
现在打算
计划
明天接着看java EE
接着任务6
评论