author:lxy
学习整理笔记仅供回顾知识

jsp简介:
1、jsp = html + java。
2、jsp原理:
jsp就是Servlet,容器会把jsp翻译成Servlet,并编译Servlet源码,执行Servlet。
3、编程中的分工:
Servlet作为控制器来用
jsp显示数据
两种一般各自明确分工是良好的编码风格
jsp的基本语法
1、jsp的模板元素,jsp中用html标签来输出排版
2、jsp脚本表达式:把内容输出到页面,<%=表达式%> 对应Servlet中out.print()
jsp脚本片段:jsp中实现java逻辑代码,<%语句%> 对应方法中的语句,
jsp声明:定义一些成员变量,<%!定义变量%> 对应全局区变量
jsp注释:注释的内容不会被翻译为Servlet语句,<%--注释--%>
jsp的指令
1、作用:
是为jsp引擎(服务器)而设计,指示服务器如何处理jsp页面中的内容
2、有哪些指令:
page:定义jsp页面中的各种属性
taglib:引入外部标签库(uri:外部空间的名称空间,prefix:前缀)
include:页面包含(静/动)
语法:<%@指令名 指令属性="指令值"... %>
jsp的动作元素
1、动作元素即内置标签
2、几个内置标签
<jsp:include >动态包含
<jsp:forward >请求转发
jsp的九大隐式对象||对应的Servlet
1、request (HttpServletRequest)
2、response (HttpServletRequest)
3、session (HttpSession)
4、application (ServletContext)
5、config (servletConfig)
6、page (Servlet)
7、exception (Throwable)
8、out (JspWriter)
9、pageContext (PageContext)
pageContext对象详解
1、本身是一个域对象,还可以操作ServletContext、ServletRequest、HttpSession
2、pageContext是一个页面域对象,
<%pageContext.setAttribute("p","pp",PageContext.REQUEST_SCOPE)%>
<%pageContext.setAttribute(KEY,VALUE,SCOPE)%>
SCOPE取值: P AGE/REQUEST/SESSION/APPLICATION
3、Object findAttribute(String key);//依次从页面、请求、会话、应用范围获取值(从小到大找)
4、Request getRequest();//获取其他八个隐式对象
5、提供转发和包含功能
pageContext.forward("/1.jsp");
pageContext.include("/1.jsp");
四大域对象
在不同的资源之间传递数据
1、PageContext(页面)
2、ServletRequest(一次请求)
3、HttpSession(一次会话)
4、ServletContext(应用级)
EL表达式
1、主要作用:
向页面输出数据,替换jsp(<%=...%>)中的java代码,
2、语法就像写html标签一样
${EL表达式}
3、EL从四大域对象获取数据
运算符:点运算符和中括号运算符,就是调用对象的getter方法
4、原理:通过四大域对象获取到java类对象,然后调用get方法获得数据,最后通过out隐式对象的Writer方法写到页面。
5、empty运算符,判断一个对象是否为null,字符串是否为"",集合数组中是否有元素。
十一个隐式对象||类型除了pageContext外别的都是map型的
1、pageContext(pageContext)
2、pageScope
3、requestScope
3、sessionScope
4、applicationScope
5、param
6、paramValues
7、header
8、headerValues
9、initParam
10、cookie
自定义EL函数
1、定义一个public的类,提供静态的实现方法。
2、在web-info下建立一个扩展名为tld的xml文件,在文件中
在文件中定义EL函数的短名称,绑定空间名,定义函数。
3、在web.xml中把tld和名称空间绑定起来
4、在jsp页面中通过taglib的指令标签引入命名空间,页面中使用自动以EL函数
使用自动以EL函数进行防止表单重复提交的实现。(对此稍后具体做个简单实现说明)
javabean概念
1、什么才是合格的JavaBean:
类必须是public的,
有无参数构造,
字段都是私有,
提供公有的gette、setter
一般需要实现序列化接口
2、jsp中操作JavaBean的动作元素
<jsp:useBean id="" class="" scope=""/>
原理:先在指定的范围中查找id指定名称的JavaBean,如果没有找到,就实例化一个并放到域中。
<jsp:getProperty property="" name=""/>
<jsp:setProperty property="" name="" value=""/>
property:属性名称(get去掉首字母小写)
name:id指定的对象
value:赋给的值
自定义标签
1、标签的作用:
替换jsp中的java脚本<%%>
2、自定义标签开发步骤
a、直接或间接实现SimpleTag接口,一般继承SmpleTagSupport,
b、重写doTage,传入当前页面PageContext对象,容器在调用此方法之前已经调用过setJspContext
c、在web-info目录下建立tld
d、jsp页面中调用标签
标签的生命周期,每次访问都会重新实例化。
来自群组: Java用户组
学习整理笔记仅供回顾知识

jsp简介:
1、jsp = html + java。
2、jsp原理:
jsp就是Servlet,容器会把jsp翻译成Servlet,并编译Servlet源码,执行Servlet。
3、编程中的分工:
Servlet作为控制器来用
jsp显示数据
两种一般各自明确分工是良好的编码风格
jsp的基本语法
1、jsp的模板元素,jsp中用html标签来输出排版
2、jsp脚本表达式:把内容输出到页面,<%=表达式%> 对应Servlet中out.print()
jsp脚本片段:jsp中实现java逻辑代码,<%语句%> 对应方法中的语句,
jsp声明:定义一些成员变量,<%!定义变量%> 对应全局区变量
jsp注释:注释的内容不会被翻译为Servlet语句,<%--注释--%>
jsp的指令
1、作用:
是为jsp引擎(服务器)而设计,指示服务器如何处理jsp页面中的内容
2、有哪些指令:
page:定义jsp页面中的各种属性
taglib:引入外部标签库(uri:外部空间的名称空间,prefix:前缀)
include:页面包含(静/动)
语法:<%@指令名 指令属性="指令值"... %>
jsp的动作元素
1、动作元素即内置标签
2、几个内置标签
<jsp:include >动态包含
<jsp:forward >请求转发
jsp的九大隐式对象||对应的Servlet
1、request (HttpServletRequest)
2、response (HttpServletRequest)
3、session (HttpSession)
4、application (ServletContext)
5、config (servletConfig)
6、page (Servlet)
7、exception (Throwable)
8、out (JspWriter)
9、pageContext (PageContext)
pageContext对象详解
1、本身是一个域对象,还可以操作ServletContext、ServletRequest、HttpSession
2、pageContext是一个页面域对象,
<%pageContext.setAttribute("p","pp",PageContext.REQUEST_SCOPE)%>
<%pageContext.setAttribute(KEY,VALUE,SCOPE)%>
SCOPE取值: P AGE/REQUEST/SESSION/APPLICATION
3、Object findAttribute(String key);//依次从页面、请求、会话、应用范围获取值(从小到大找)
4、Request getRequest();//获取其他八个隐式对象
5、提供转发和包含功能
pageContext.forward("/1.jsp");
pageContext.include("/1.jsp");
四大域对象
在不同的资源之间传递数据
1、PageContext(页面)
2、ServletRequest(一次请求)
3、HttpSession(一次会话)
4、ServletContext(应用级)
EL表达式
1、主要作用:
向页面输出数据,替换jsp(<%=...%>)中的java代码,
2、语法就像写html标签一样
${EL表达式}
3、EL从四大域对象获取数据
运算符:点运算符和中括号运算符,就是调用对象的getter方法
4、原理:通过四大域对象获取到java类对象,然后调用get方法获得数据,最后通过out隐式对象的Writer方法写到页面。
5、empty运算符,判断一个对象是否为null,字符串是否为"",集合数组中是否有元素。
十一个隐式对象||类型除了pageContext外别的都是map型的
1、pageContext(pageContext)
2、pageScope
3、requestScope
3、sessionScope
4、applicationScope
5、param
6、paramValues
7、header
8、headerValues
9、initParam
10、cookie
自定义EL函数
1、定义一个public的类,提供静态的实现方法。
2、在web-info下建立一个扩展名为tld的xml文件,在文件中
在文件中定义EL函数的短名称,绑定空间名,定义函数。
3、在web.xml中把tld和名称空间绑定起来
4、在jsp页面中通过taglib的指令标签引入命名空间,页面中使用自动以EL函数
使用自动以EL函数进行防止表单重复提交的实现。(对此稍后具体做个简单实现说明)
javabean概念
1、什么才是合格的JavaBean:
类必须是public的,
有无参数构造,
字段都是私有,
提供公有的gette、setter
一般需要实现序列化接口
2、jsp中操作JavaBean的动作元素
<jsp:useBean id="" class="" scope=""/>
原理:先在指定的范围中查找id指定名称的JavaBean,如果没有找到,就实例化一个并放到域中。
<jsp:getProperty property="" name=""/>
<jsp:setProperty property="" name="" value=""/>
property:属性名称(get去掉首字母小写)
name:id指定的对象
value:赋给的值
自定义标签
1、标签的作用:
替换jsp中的java脚本<%%>
2、自定义标签开发步骤
a、直接或间接实现SimpleTag接口,一般继承SmpleTagSupport,
b、重写doTage,传入当前页面PageContext对象,容器在调用此方法之前已经调用过setJspContext
c、在web-info目录下建立tld
d、jsp页面中调用标签
标签的生命周期,每次访问都会重新实例化。
来自群组: Java用户组