JavaEE入门
学习笔记(一)
一.问题:
做xml文件配置时把相关servlet放在了filter前面,导致eclipse崩溃
解决:检查出问题后改变了顺序。另:动手通过改变filter的配置顺序,使得过滤的顺序改变;
二.心得:
1. 了解了过滤器的生命周期和链式执行结构
void init(FilterConfig)这个方法会在过滤器被创建之后马上执行,并且这个方法只会调用一次,在服务器启动时被创建。
void doFilter(ServletRequest,ServlerResponse,FilterChain) 每次拦截目标资源的时候都会调用这个方法。
void destory() 这个方法会在过滤器被销毁之前执行,这个方法只会执行一次,过滤器会在服务器关闭的时候销毁。
过滤器doFilter方法中以×××.doFilter(…, …);为分割。先从xml里配置的第一个filter顺序执行直至servlet执行完,再倒过来顺序执行直原来的第一个filter;
2. 通过在JSP页面里写EL表达式和JSTL语句,熟悉了他们的用法。
理解了EL表达式中
大
括
号
里
只
是
一
串
字
符
,
并
不
是
调
用
对
象
,
例
如
:
{}大括号里只是一串字符,并不是调用对象,例如:
大括号里只是一串字符,并不是调用对象,例如:{username}意思是取出某一范围名称为username的变量。因为没有指定查找范围,会依次从Page,Request,Session,Application范围查找。中途找到了username就直接传回,若是全部范围没找到就传回null。
3. JSP中out.println()与response.getWriter().println()输出的区别
在实验中,发现response.getWriter().println()输出的内容会在out.println()输出内容之前输出;
区别: 两者的类不同,out的类是JspWriter,response.getWriter()的类是Print Writer。
out是JSP的内置对象,直接就可以调用里面的方法,而PrintWriter调用之前需要Response.getWriter()获取对象。
JspWriter和Print()方法会抛出IOEception,而PrintWriter则不会。
JspWriter和Print Writer都继承自java.io.Writer,但是前者是抽象类,后者不是
导致这个结果的原因: 这是因为,out对象是JspWriter类的一个实例,这个类的幕后其实还是PrintWriter类,
只是JspWriter具有缓存,只有它的缓存刷新了后才会创建PrintWriter类,
并将JspWriter对象中的内容写入到PrintWriter类对象中。
4.< %@ include file=” ”%>,jsp的include指令元素读入指定页面的内容。并把这些内容和原来的页面融合到一起。(这个过程是在翻译阶段:也就是jsp被转化成servlet的阶段进行的。
5.URL通配符问题:
web.xml文件中,以下语法用于定义映射:
(l).以”/’开头和以”/”结尾的是用来做路径映射的。
(2).以前缀”.”开头的是用来做扩展映射的。
(3). “/” 是用来定义default servlet映射的。
(4). 剩下的都是用来定义详细映射的。比如: /aa/bb/cc.action
执行规则及顺序:
(1).精确路径匹配。例子:比如servletA 的url-pattern为 /test,servletB的url-pattern为 /* ,这个时候,如果我访问的url为http://localhost/test ,这个时候容器就会先进行精确路径匹配,发现/test正好被servletA精确匹配,那么就去调用servletA,也不会去理会其他的servlet了。
(2).最长路径匹配。例子:servletA的url-pattern为/test/,而servletB的url-pattern为/test/a/,此时访问http://localhost/test/a时,容器会选择路径最长的servlet来匹配,也就是这里的servletB。
(3).扩展匹配,如果url最后一段包含扩展,容器将会根据扩展选择合适的servlet。例子:servletA的url-pattern:*.action
(4).如果前面三条规则都没有找到一个servlet,容器会根据url选择对应的请求资源。如果应用定义了一个default servlet,则容器会将请求丢给default servlet(什么是default servlet?请见:web.xml文件中缺省映射路径"/"问题以及客户端访问web资源的匹配规则)。
JavaEE
最新推荐文章于 2024-09-28 21:58:55 发布