JSP九个隐式对象

 

jsp 九个隐式对象

 

ServletConfig      config 

 

ServletContext     application

 

HttpServletResponse   response

 

HttpServletRequest   request

 

HttpSession        session

 

JspWriter         out

 

this(Servlet对象)     page

 

Throwable         exception

 

PageContext       pageContext  获得其他8

 

 

1. out 对象

 

jsp中输出数据尽量使用 out 不要使用response直接获得流输出

 

jsp 页面输出时会自动调用 response.getWriter()

 

所以在jsp中不要调用 getOutputStream()  也最好不要做下载

 

 

重点: 

 

1)  默写9个对象, (具体描述9个对象怎么用)

 

2)  理解pageContext对象的意义 (获得其他8个对象)

 

jsp 细节

1. jsp 出错

1) 被翻译的Servlet不能编译,语法错,这时会报告是因为jsp中的哪行导致不能编译

2) 翻译的Servlet 在运行期间出现异常, 报告是jsp的哪行导致的异常

此时会进一步报告导致异常的原因,在Servlet中的哪行出现异常

2. jsp 映射 也是通过servlet 元素

 

内省

1. javabean 

固定写法的java

1)必须有无参构造函数

2)属性必须私有,我们称为字段

3)提供标准的gettersetter

例: name 字段 的getter: String getName()  settter: void setName(String name)

 

2. 通过反射的方式访问javabean

BeanUtils

getProperty(bean, name, value)

可以支持String8中基本数据类型转换

其他引用数据类型都需要注册转换器 ConvertUtils.register(Converter, Class)

 

3. WebUtils 工具类

实现任何request提交的表单封装到对应的javabean

 

 

jsp标签

为了移除jsp页面的java代码,sun公司提供了一些内置的标签

我们称为jsp标签,或jsp动作元素

 

1. <jsp:include> 相当于 RequestDispatcher 对象的页面引入

动态引入方式,在程序运行期间引入,jsp被翻译成两个

include指令也能实现页面的引入,静态引入,将两个jsp翻译成一个Servlet

 

2. <jsp:forward> 实现请求转发

结合 <jsp:param> 标签传参,自动进行url编码,编码的方式参照request编码

 

3. <jsp:useBean id class scope> 内省

反射创建javabean,以id作为key存入指定的域

其实在创建之前,会先去域中找,找到了则不创建

 

4. <jsp:setProperty> 设置属性值

<jsp:setProperty name=user property=username value=zs />

<jsp:setProperty name=user property=username param=username />

<jsp:setProperty name=user property=* /> 批量

 

5. <jsp:getProperty> 获得属性值

原文地址:https://www.cnblogs.com/qq809306794/p/3183304.html