JSP知识
五、JSP概述及最佳实践
1、更改MyEclipse生成的JSP模板。模板文件与Servlet.java(Servlet模板文件)很近。
2、学好JSP的关键:JSP就是Servlet。一定要记住JSP中的东东会出现在Servlet的什么地方?
3、最佳实践:利用Servlet作为控制器;JSP用于页面显示。
六、JSP语法
1、模板元素:JSP页面中的HTML内容。
2、JSP中的脚本表达式:
作用:输出内容到页面上。
语法:<%=java表达式%>
“java表达式”会原封不动的出现在JSP对应的Servlet的service方法中的out.println(java表达式);参数中
java表达式后面不能有分号。
3、JSP脚本片段
作用:在JSP中嵌入多行java代码。
语法:
<%
多行java代码
%>
多行java代码,会原封不动地出现在对应Serlvet的service方法中。
4、JSP声明
作用:定义成员。
语法:<%! 你的成员%>
声明代码会出现在对应的类中。
5、JSP中注释
语法:<%--这是注释--%>
七、JSP的指令:3个
1、作用:给JSP引擎用的(Tomcat)。不产生任何输出。
2、语法:<%@ 指令名称 指令属性1="值1" ...%>
a、page指令
属性:
language:指示使用脚本语言。默认是java,目前只支持java。
extends:指示JSP对应的Servlet的父类是谁。不要修改。
*import:导入JSP中的java脚本中用到的类。
*session:指示当前页面支不支持会话(拿不到HttpSession对象的引用session)。默认值是true。可选值true|false.
buffer:字符输出流的缓存。默认值是8Kb。可选值none|8Kb|sizeKb
autoFlush:自动刷新缓存。
isThreadSafe:指示JSP对应的Servlet是否实现SingleThreadModel这个废物。false是实现,true是不实现。默认是true。
*errorPage:(转发技术)指示提示错误的页面的路径。如果以"/"开头表示绝对路径。
配置全局错误提示页面:
web.xml
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
*isErrorPage:指示是否产生exception对象的引用。true|false.默认值是false
*contentType:response.setContentType("text/html;charset=UTF-8");
*pageEncoding:指示翻译JSP时查的码表。
pageEncoding有2个作用:第一告知引擎查哪个码表读JSP文件进行翻译;第二,以指定的编码输出字符,并通知客户端以什么编码显示
*isELIgnored:是否忽略EL表达式。默认值是false。可选值是true\false
b、include指令:(能用静态不用动态)
属性:file,目标资源的路径。如果以"/"开头表示绝对路径。
静态包含:include指令就是静态包含。
动态包含:<jsp:include page=""/>
c、taglib指令
作用:引入外部的标签
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
八、JSP的九大隐式对象
*****九、域对象的概念
十、发现JSP中的错误
一、九大隐式对象:
1、九大隐式对象在JSP的脚本中可以直接拿来用的对象。
request:HttpServletRequest
response:HttpServletResponse
session:HttpSession(通过page指令的session进行开关)
application:ServletContext
config:ServletConfig
page:this(JSP页面对应的Servlet对象)
exception:Throwable(通过page指令的isErrorPage进行开关)
out:javax.servlet.jsp.JspWriter(把他看做response.getWriter())
pageContext:javax.servlet.jsp.PageContext
1、out
*****2、pageContext
a、获取其他8大隐式对象
b、本身是一个域对象(当前页面范围)。还能操作其他3个域对象中的数据(ServletContext HttpSession ServletRequest);
还能从四个域中:依次从page request session application查找指定名称的对象
b.1:操作本身域中(page范围)的数据的方法:
Object getAttribute(String name)
void setAttribute(String name,Object value)
void removeAttribute(String name)
b.2:操作其他域对象中的数据:参数int scope:PageContext--->PAGE_SCOPE REQUEST_SCOPE SESSION_SCOPE APPLICATION_SCOPE
Object getAttribute(String name,int scope)
void setAttribute(String name,Object value,int scope)
void removeAttribute(String name,int scope)
例如:以下=表示作用等效
pageContext.setAttribute("p","ppp",PageContext.PAGE_SCOPE)=pageContext.setAttribute("p","ppp")
pageContext.setAttribute("a","aaa",PageContext.SESSION_SCOPE)=session.setAttribute("a","aaa")
b.3:还能从四个域中:依次从page request session application查找指定名称的对象
Object findAttribute(String name)
c、提供了请求转发和包含的方便方法。
pageContext.forward("/4.jsp");
pageContext.include(String path)
*****二、域对象的概念
page:PageContext域对象。(JSP中才有的)
request:ServletRequest域对象。
session:HttpSession域对象。
application:ServletContext域对象。
三、JSP中的错误
插入点:
JSP中的常用的动作元素(内置标签):
1、<jsp:include/>:动态包含。
page:被包含的页面地址。以"/" 表示绝对路径
2、<jsp:forward/>:实现请求转发
page:转发的目标地址。以"/" 表示绝对路径
3、<jsp:param/>:参数
<jsp:forward page="/4.jsp">
<jsp:param value="shanjie" name="username"/>
<jsp:param value="123" name="password"/>
</jsp:forward>
JSP知识的更多相关文章
- JSP知识汇总
JSP知识汇总 一.简介 > HTML - HTML擅长显示一个静态的网页,但是不能调用Java程序. > Servlet - Servlet擅长调用Java程序和后台进行交互,但是它不擅 ...
- JSP知识体系大全
Jsp动态网页 Web页面之间有3种关系: 包含 请求转发 重定向 l Jsp的运行原理:(3个) Jsp页面不能直接运行 1.容器调用jsp引擎编译jsp文件 成一个java文本(Servle ...
- JSP 知识基本
from:http://blog.csdn.net/caipeichao2/article/details/38589293 more:http://www.2cto.com/kf/web/jsp/4 ...
- 初识JSP知识
一.jsp概述 JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP实际上就是Servlet. jsp = html ...
- 那些你常用的JSP知识
脚本程序 <> 或者,您也可以编写与其等价的XML语句,就像下面这样: <jsp:scriptlet> 代码片段 </jsp:scriptlet>任何文本.HTML ...
- Servlet和JSP知识总结
1.Servlet接口有哪些方法及Servlet生命周期 Servlet接口定义了5个方法,前三个方法与Servlet生命周期有关: void init() void service() void d ...
- JSP知识总结
day11 JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. 1. ...
- html与jsp
1. 什么是 HTML 语言? HTML文件有什么特征? 答:HTML是超文本标记语言(Hypertext Mark-up Language)的缩写,主要用来创建与系统平台无关的网页文档.它是目前网络 ...
- Java EE基础之JSP(三)
原来准备简单点,用一篇文章介绍完JSP的,没想到细节很多.这是第三篇也是最后一篇,这三篇文章介绍了基本的JSP知识,很多名词概念和用法,一定要在实践项目中使用之后才会有更加亲切的体会.第三篇 ...
随机推荐
- IE8下标签float导致的bug。
前几天帮朋友写一个页面,今天在IE8下面发现一个很奇葩的问题,给a标签添加了float:left之后a标签内的图片不显示了,去掉float:left之后就能正常显示. 代码: <!DOCTYPE ...
- python---socketserver模块
在<python---socket模块>中通过socket模块实现了串行处理的socket通信 在python中可以通过socketserver模块实现并发通信,而socketserver ...
- mapreduce出现类似死锁情况
在往hbase表里通过bulkload导数据时,某个mapreduce跑了一个多小时还没跑,看yarn界面,发现map还有一小部分没跑完,没跑完的map全在pending,running中没有,同时r ...
- 珍惜每一滴水(kbmmw 中的内存调试)
作为一个服务器端的应用,最基本的要求就是稳定,当然要做一个稳定的服务器端,需要涉及到很多方面, 内存泄露就是稳定的一个致命杀手,因为服务器的物理内存是有限的,即使一个功能有很小的内存泄露,经过 长时间 ...
- Google V8编程详解(二)HelloWorld
转自http://blog.csdn.net/feiyinzilgd/article/details/8248448 上一章讲到了V8的编译和安装,这一章开始从一个demo着手. 这里选用了官方文档的 ...
- [转载]Js小技巧||给input type=“password”的输入框赋默认值
http://www.cnblogs.com/Raywang80s/archive/2012/12/06/2804459.html [转载]Js小技巧||给input type="passw ...
- 使用FreePic2Pdf导出书签至Word建立层级目录——快速初始化Word笔记本目录
使用FreePic2Pdf导出书签至Word建立层级目录 --快速初始化Word笔记本目录 文:安徽师范大学2014级计算机科学与技术 王昊 (Get Contact:441301158@qq.com ...
- 邮箱验证 各种邮箱的smtp
常见邮箱的SMTP设置 QQ 邮箱举例:(地址test@qq.com)(账号test)(密码***)(SMTP服务smtp.qq.com)(端口25)(注意:请手动开通SMTP功能,通过网页登录qq邮 ...
- JCCLIENT IP GET UDP
##通道##110.52.233.5:18427## ##通道##112.95.251.214:18427## ##通道##119.29.192.206:18427## ##通道##123.207.1 ...
- android Activity绑定Service
activity可以绑定Service,并且可以调用Service中定义的方法 Service代码:在里面多了一个IBinder;个人理解是用来与Activity绑定的主要通道: public cla ...