五、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知识的更多相关文章

  1. JSP知识汇总

    JSP知识汇总 一.简介 > HTML - HTML擅长显示一个静态的网页,但是不能调用Java程序. > Servlet - Servlet擅长调用Java程序和后台进行交互,但是它不擅 ...

  2. JSP知识体系大全

    Jsp动态网页 Web页面之间有3种关系: 包含  请求转发  重定向 l Jsp的运行原理:(3个) Jsp页面不能直接运行 1.容器调用jsp引擎编译jsp文件  成一个java文本(Servle ...

  3. JSP 知识基本

    from:http://blog.csdn.net/caipeichao2/article/details/38589293 more:http://www.2cto.com/kf/web/jsp/4 ...

  4. 初识JSP知识

    一.jsp概述 JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP实际上就是Servlet. jsp = html ...

  5. 那些你常用的JSP知识

    脚本程序 <> 或者,您也可以编写与其等价的XML语句,就像下面这样: <jsp:scriptlet> 代码片段 </jsp:scriptlet>任何文本.HTML ...

  6. Servlet和JSP知识总结

    1.Servlet接口有哪些方法及Servlet生命周期 Servlet接口定义了5个方法,前三个方法与Servlet生命周期有关: void init() void service() void d ...

  7. JSP知识总结

    day11 JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. 1. ...

  8. html与jsp

    1. 什么是 HTML 语言? HTML文件有什么特征? 答:HTML是超文本标记语言(Hypertext Mark-up Language)的缩写,主要用来创建与系统平台无关的网页文档.它是目前网络 ...

  9. Java EE基础之JSP(三)

         原来准备简单点,用一篇文章介绍完JSP的,没想到细节很多.这是第三篇也是最后一篇,这三篇文章介绍了基本的JSP知识,很多名词概念和用法,一定要在实践项目中使用之后才会有更加亲切的体会.第三篇 ...

随机推荐

  1. svn本地客户端和eclipse插件对应不上解决

    如果你是SVN来管理代码,如果你是用eclipse搞开发,如果你知道eclipse有SVN的插件,那么你一定想用它来直接管理你的代码.但是事情往往非人所愿.当我们用SVN客户端把代码更新到本地,并导入 ...

  2. C# Mysql You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ????

    有几年没用过MySql数据了,今天在使用C#访问MySql数据库时出现了一个小插曲. 错误提示: You have an error in your SQL syntax; check the man ...

  3. Linux常用目录及文件

    1./etc/sysconfig/network 操作相关:hostname设置 2./etc/sysconfig/network-scripts/ifcfg-ethX(X为0.1等编号,一般为0) ...

  4. grep sed 大批量替换字符串

    sed -i s/"str1"/"str2"/g `grep "str1" -rl --include="*.[ch]" ...

  5. SQL Server 数据库的安全管理(登录、角色、权限)

    ---数据库的安全管理 --登录:SQL Server数据库服务器登录的身份验证模式:1)Windows身份验证.2)Windows和SQL Server混合验证 --角色:分类:1)服务器角色.服务 ...

  6. WCF启用日志追踪

    调用使用http post调用WCF Restful服务时,WCF会自动反序列化body里的实体,如果实体反序列化不成功时,会返回一个请求错误,让去看服务器日志.需要启用日志追踪功能,才能看到具体的情 ...

  7. CSS解决高度自适应问题

    HTML结构如下: <div id="main">     <div id="top">top</div>     < ...

  8. Spring框架学习一

    Spring框架学习,转自http://blog.csdn.net/lishuangzhe7047/article/details/20740209 Spring框架学习(一) 1.什么是Spring ...

  9. ssm整合

    一.以用户注册和列出用户功能说明ssm如何整合 二.新建一个maven工程,大致模样如下 三.pom.xml <project xmlns="http://maven.apache.o ...

  10. JSON Object(如NSDictionary,NSArray)转化为JSON格式的NSString #iOS开发

    NSString *string = [self jsonObjectToJSONString:inputDataDic]; -(NSString*)jsonObjectToJSONString:(i ...