JavaEE

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资源的匹配规则)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值