Jsp的定义及作用还有声明

问题?什么是JSP?作用是什么?如何定义和声明?有哪些jsp指令及作用?

一、定义:JSP(全称JavaServer Pages)是由Sun Microsystems公司倡导和许多公司参与共同建立的一种使软件开发者可以   响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作               为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。


1、JSP其实就是Servlet。学习JSP学好的关键:时刻联想到Servlet即可。

2、原理:JSP会被Tomcat翻译成一个Servlet,然后以网页的形式显示在客户端。该Servlet在Tomcat\work\catalina\locahot\day09\....

            


Jsp的定义及作用还有声明_第1张图片

3、JSP、Servlet开发的最佳实践:
Servlet:一般作为控制组件,处理业务逻辑
JSP:一般作为显示组件,显示数据

                                 Jsp的定义及作用还有声明_第2张图片

二、JSP的语法

1、JSP中的Java脚本片段:(实际开发中,应做到JSP中不能出现一行Java脚本片段,因为在实际开发中java代码只会出现在sevlet中进行业务逻辑处理,在实际开发中没用。)
作用:书写Java代码逻辑
语法:<%
语句1;
语句2;
 %>
原理:其中的语句会原封不动的被服务器翻译到对应的Servlet的service方法中。

2、JSP的Java脚本表达式:
作用:输出数据到页面上
语法:<%=表达式%>(实际上就是调用输出流打印到页面上)

3、JSP的注释:
作用:注释Java脚本代码
语法:<%--这是注释--%>

三、JSP的指令:给JSP引擎用的(服务器用的)

        基本的语法格式:<%@ 指令名称 属性1="值1" 属性2="值2" ....%>
作用:告诉服务器,该如何处理JSP中除了指令之外的内容的。

1、page指令:用来定义jsp页面的各种属性。

属性:
language:指示JSP页面中使用脚本语言。默认值java,目前只支持java。
extends:指示JSP对应的Servlet类的父类。不要修改。
*import:导入JSP中的Java脚本使用到的类或包。(如同Java中的import语句)
JSP引擎自动导入以下包中的类:
javax.servlet.*
javax.servlet.http.*
javax.servlet.jsp.*
注意:一个import属性可以导入多个包,用逗号分隔。


*sessioin:指示JSP页面是否创建HttpSession对象。默认值是true,创建
*buffer:指示JSP用的输出流的缓存大小.默认值是8Kb。
autoFlush:自动刷新输出流的缓存。
isThreadSafe:指示页面是否是线程安全的(过时的)。默认是true。
true:不安全的。
false:安全的。指示JSP对应的Servlet实现SingleThreadModel接口。
*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对象。
*contentType:指定当前页面的MIME类型。作用与Servlet中的response.setContentType()作用完全一致
*pageEncoding:通知引擎读取JSP时采用的编码(因为要翻译)
还有contentType属性的作用。
*isELIgnored:是否忽略EL表达式。${1+1}。默认值是false。

page指令最简单的使用方式:<%@ page pageEncoding="UTF-8"%>


2、include(静态包含,开发中能用静的不用动的)
作用:包含其他的组件。

静态包含:


语法:<%@include file=""%>file指定要包含的目标组件。路径如果以"/"(当前应用)就是绝对路径。
原理:把目标组件的内容加到源组件中,输出结果。

动态包含:
采用动作元素:<jsp:include page=""/>路径如果以"/"(当前应用)就是绝对路径。


Jsp的定义及作用还有声明_第3张图片


3、taglib
作用:引入外部的标签
语法:<%@taglib uri="标签名称空间" prefix="前缀"%>
如:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>(用C标签)



        

你可能感兴趣的:(jsp的taglib指令,jsp的定义和使用原理,jsp的三个指令,jsp的page指令,jsp的include指令)