![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Servlet&Jsp
SunsetFeng
这个作者很懒,什么都没留下…
展开
-
Servlet类装载器
一.类装载器Java虚拟机使用每一个类的第一件事情就是将类的字节码装载进来,装载类字节码是由类装载器完成的。类装载器首先将一个类转换成一个.class文件,然后读取文件的内容,.class文件的内容是utf-8编码的,转换成Unicode编码后装载入Java虚拟机,当一个类被加载后,Java虚拟机将其编译为可执行的代码存储在内存中,索引信息存储进HashTable中,索引关键字为类的完整名称,...原创 2018-10-25 20:58:38 · 131 阅读 · 0 评论 -
Filter过滤器
一.Filter基本工作原理Filter程序必须时间javax.servlet.Filter接口,Filter程序必须在web.xml中进行注册和设置拦截资源的值,不管任何类型的资源,最终都是以Servlet程序的形式来运行的,所以,可以使用Filter来拦截任何资源。1.Filter工作原理图通常情况下,当浏览器直接访问某个页面时,是直接由web容器和Servlet程序进行交互,...原创 2018-12-05 16:08:07 · 188 阅读 · 0 评论 -
详解JSP页面jsp:setProperty标签使用表达式赋值报500错误的原因
错误示例:<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body><js原创 2018-11-27 15:25:43 · 1727 阅读 · 0 评论 -
JSP页面out隐式对象和pageContext隐式对象
一.out隐式对象out隐式对象是通过调用pageContext对象的getOut方法返回的,其作用与ServletResPonse.getWriter方法返回的PrintWriter对象非常相似,但两者为不同类型的对象。JSP页面的out对象类型为JspWriter,相当于一种带缓存的PrintWriter,可以在page指令里设置缓存的大小甚至关闭它的缓存。out对象会在满足某种条件时去调...原创 2018-11-22 12:19:08 · 1500 阅读 · 0 评论 -
JSP指令-include指令
include指令用于通知JSP引擎在翻译当前JSP页面时将其他页面的内容合并进当前JSP页面转换成的Servlet源文件中,这种在源文件级别引入的方式称之为静态引入。以下为include指令的注意事项1.被引入的文件必须遵循JSP语法,可以包含静态HTML、JSP脚本元素、JSP指令和JSP行为元素等普通JSP页面所具有的一切内容。2.被引入的文件可以使用任意的扩展名,即使扩展名是....原创 2018-11-21 16:13:18 · 2912 阅读 · 0 评论 -
JSP指令-page指令
JSP一共包含3种指令,分别为page,include,taglib,指令必须嵌套在<%@ 和%>之中,基本语法如:<%@ 指令 属性名="值" %>,大小写敏感。page指令的完整语法如下,以JSP2.0规范为例<%@ page [ language="java" ] [ extends="package.class"...原创 2018-11-21 15:00:46 · 1162 阅读 · 0 评论 -
Session理解
Cookie和Session都可以实现会话跟踪,将上一次的请求传入下一次内,但它们的实现方式有一个显著的区别,如下:Cookie:将当前会话的信息存在浏览器端,每次请求时将Cookie信息传入服务器 Session:将会话的信息存在服务器端,浏览器保存一个JSESSIONID,每次传入JSESSIONID去取信息很显然,2种会话跟踪的实现方式,Session是在服务器端保持状态的方案,Co...原创 2018-11-08 11:54:46 · 266 阅读 · 0 评论 -
缺省servlet的缓存问题
今天看书,无意间发现缺省servlet缓存相关的问题,记录下来,以免自己以后出错找不到原因。在servlet的访问原则里面,只要访问没有在web.xml上配置过路径的servlet都是使用缺省servlet调用的,假如存在如下一种调用情形。一个入口HTML有多个超链接,访问同一个servlet,servlet根据参数的不同使用文件流生成不同的html文档,在通过转发访问这个文档。如果访...原创 2018-11-02 20:20:50 · 148 阅读 · 0 评论 -
HttpServletResponse.sendRedirect和RequestDispatcher.foward的区别(重定向与转发)
foward只能在同一个Web应用内转发,相对URL为“/”时是相对于当前Web应用程序的根目录。 sendRedirect可以重定向到同一Web站点上的其他Web应用上,相对URL为”/“时是相对于当前Web站点。 sendRedirect重定向后浏览器的URL请求地址会发生改变,相当于二次请求。 foward转发后URL请求地址也不会发生改变,一次请求。 foward转发前后的...原创 2018-11-02 20:01:52 · 348 阅读 · 0 评论 -
Cookie理解
Cookie属性Comment:描述这个Cookie用途的一些注释 Domain:指定Cookie有效的域,意味着在指定域名系统区域的服务器可以看到这个Cookie,默认只返回给发送Cookie的服务器 Max-Age:指定Cookie在服务器保存的时间。如果为0,表示立即删除这个Cookie;为负,表示存在内存中,默认存在内存中 Path:指定Cookie作用的URL目录及其子目录,默...原创 2018-11-06 21:21:15 · 203 阅读 · 0 评论 -
关于Request的InputStream.read()读取数据的一个细节
关于InputStream.read()方法,我今天发现了这样一段代码。 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletInputStream in=req.getInputStre...原创 2018-11-06 12:07:39 · 2211 阅读 · 0 评论 -
request.include和request.foward后是否共享Request和Response的问题
这两天在细看<深入体验Java_Web开发内幕-核心基础>一书,书比较老了,使用的tomcat和servlet版本差距都比较大。书中提及在foward转发过程中,request对象和response对象一直都是同一个。但我总觉得有些问题,做了以下测试:@WebServlet("/Test")public class ForwardingServlet extends HttpS...原创 2018-11-01 16:18:45 · 193 阅读 · 0 评论 -
关于Servlet,JSP,HTML中文乱码的问题
首先说明一点,以下的测试方法只有一个HttpServletRequest.forward,但是基于原理上的讲解,其他乱码问题应该也可以从中得到一些启示。不敢保证百分百正确,但能提供一个大致的方向。下面为测试入口servlet的代码,其中的getWriter被注释掉,后面讲其作用。 protected void doGet(HttpServletRequest req, HttpSe...原创 2018-11-01 12:20:58 · 1157 阅读 · 2 评论 -
Tomcat上部署web项目的目录问题
记录下最近学习Tomcat关于目录的问题。首先明确一个概念,从浏览器访问服务器的URL是映射到了服务器上的一个目录的某一个资源文件,打一个比方,有如下一条URL:http://192.168.2.99:8000/book/test.html,在不考虑内容协商的情况下,解释如下。192.168.2.99:这是服务器的IP地址。 8000:是Tomcat服务监听的端口号。 /book:这个...原创 2018-10-24 12:01:20 · 910 阅读 · 0 评论 -
Web项目访问资源文件
同一个Web程序的所有Servlet都共享同一个ServletContext对象,这个对象可以看作为Servlet的共享内存区域,在关于路径文件方面的API有如下4个:getResourcePaths 返回的是一个Set集合,参数必须以“/”为头,集合里面包含某一个目录的所有子目录和文件的路径名称,都用"/"开头,目录有"/"结尾,某一个目录是“根目录+参数”所代表的目录。Set的键是路径,值...原创 2018-10-26 20:29:59 · 951 阅读 · 0 评论 -
Servlet事件监听器
Servlet事件监听器是Servlet规范中定义的一种特殊的类,监听Web应用程序中的ServletContext、HttpSession和ServletRequest等域对象的创建和销毁事件,以及监听这些域对象中的属性发生修改的事件。1.按监听对象划分,监听器可以分为以下三种类型用于监听ServletContext的事件监听器 用于监听HttpSession的事件监听器 用于监听S...原创 2018-12-06 21:23:47 · 1817 阅读 · 0 评论