JSP学习过程记录

今天开始学习JSP,在这里简单的记录一下:

1:使用JSTL的时候,将网页上的四个包都下载下来,然后直接复制到webContent目录下的WEB-INF文件夹下的lib包中,不用eclipse中导入。切记必须是四个包,否则就有可能会缺失你所需要的那个包中的类,很重要。

2:forward动作要求在使用forward动作前,不能向客户端输出任何内容,否则会报错,但是我还没有遇到,这里先记录下。(但是后来我发现好像可以有一些html代码输出到客户端,这和response的重定向一样,为什么呢?查了一下,可能是因为不能有html输出是指不能有html代码送到浏览器,但是现在的服务器都有缓存机制,即cache,这就意味着,除非关闭cache,或者使用flush强制输出,否则,在方法动作实施前,还是有一些代码可以被输出.这个一些取决于缓存的大小.

3:page指令中,contentType中的charset和pageEncoding的区别是:后者是服务器端的jsp文件,要告知jsp引擎以何种方式编译,这个时候jsp还没有被编译成servlet,然而前者是在编译后,服务器响应时,servlet告知客户端使用何种编码方式解码显示,所以,后者的优先级要高于前者。

4:request的作用范围:request的作用范围是一个页面向另一个页面提出请求到请求完成之间.如果我们使用页面一forward到页面二,页面二有设置了超链接页面,这样的话,request的作用范围就是页面一到页面二,如果在页面一中的变量,到了页面二中可以使用,但是在超链接页就无法使用了.

5:JSP中文乱码的问题,正好学到了,觉得以后一定用得上,在此记录:

        a:将page指令的pageEncoding设置为"UTF-8",如果不行,在获得字符串值后,通过String类进行改变编码,例如new String(str.getBytes("ISO-8859-1"),"utf-8"),为什么是ISO-8859-1呢,那是因为这是jsp的默认编码.

            b:将page的contentType的charset的值改为GB2312,然后也可以通过string类的方式转码.

6:sessio的销毁:session的销毁有三种:一种是使用invalidate()方法手动销毁,二是session超过了设定的时间后自动销毁,三是服务端停止时,自动销毁,注意的是客户端(浏览器)停止不会导致session销毁.

7:过滤器的执行顺序:今天看到过滤器的相关内容,想到如果有多个过滤器如何得知并控制它们的执行顺序,我用的这本书很烂,只是简单的介绍了一下过滤器,完全没有提交这个,我只好到网上查找相关知识,结果很快就找到了,只需要在web.xml文件中设置过滤器配置信息时,用<filter-mapping>标签内填写你的过滤器类名,然后在web.xml文件中控制不同<filter-mapping>的顺序就可以了控制了,至于<filter-mapping>的具体内容填写,请移步here.



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值