jsp简单入门学习一

JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的
不同的是先由服务器编译部署成Servlet执行
JSP技术的企业最佳实践
生成html内容

新的JSP2.0规范版本包括新的功能

EL表达式

jsp对应的servlet


* 脚本元素
<%! %> 成员方法、成员变量
<%= %> 输出内容
<%  %> 局部变量,语句

* JSP页面的注释
* HTML的注释 <!-- --> JSP文件的阶段存在,在翻译成java文件也存在, 在页面存在
* JAVA的注释 JSP文件的阶段存在,在翻译成java文件也存在, 在页面不存在
<%
// 单行
/**/ 多行
/**
* 文档
*/
%>

* JSP的注释 <%-- JSP的注释 --%> 之后存在JSP文件的阶段

jsp指令元素

功能

用于指示JSP执行某些步骤
用于指示JSP表现特定行为
语法格式
<%@ directive [ attribute =“value” ] * %>
分类
page指令标记
include指令标记  包含

taglib指令标记 

以下是page指令标记:


JSP的指令元素
* 语法:<%@ 指令元素 属性名=属性值  %>
* page :设置JSP的属性
* 注意:import属性可以出现多次,其他属性只能出现一次。
* 属性:
* language :JSP文件允许嵌入的语言。只支持一种JAVA语言。(不需要改变)
* extends :JSP翻译翻译Servlet文件,servlet继承的类。(不需要改变)
* session :默认值是true,可以直接使用session。设置false,不能直接使用。
* import :引入java的jar包(使用多次)
* buffer :设置缓冲区的大小 默认8kb
* aotoFlush :设置默认刷新缓冲区(不要修改)
* errorPage :指定错误页面
* isErrorPage :设置值,可以是exception对象,设置true,使用exception,设置不能使用exception对象
* contentType :服务器端输出所有内容采用编码。
* pageEncoding :JSP翻译成Servlet文件时采用的编码。
* isELIgnored :是否忽略EL表达式(false,不忽略,true,忽略)

* 重点:
* session import contentType pageEncoding isELIgnored

* include :包含页面(页面布局)
* 语法:<%@ include file="要包含文件的地址(静态包含)" %>

* <%@ include file="/include/head.jsp" %>

                        * taglib :引入标签库文件
* 语法:<%taglib  %>
* 属性:
* uri :引入标签库文件的名称
* prefix :标签库的前缀名

jsp配置全局的错误页面
* 在web.xml中进行配置。
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
 </error-page>
 
 <error-page>
<error-code>500</error-code>
<location>/500.jsp</location>
 </error-page>

 JSP的内置对象(9个)直接使用

request response session application out pageContext page config exception

内置对象 真实的对象 方法
request HttpServletRequest setAttribute() getAttribute()
response HttpServletResponse addCookie() getWriter()
session HttpSession setAttribute() getAttribute()
application ServletContext setAttribute() getAttribute()
config ServletConfig getInitParameter() getInitParameterNames()

exception Throwable getMessage()
page Object (不使用对象)
out JspWriter write() print()
pageContext PageContext setAttribute() getAttribute()

* exception
* 和异常有关的
* 前提条件:isErrorPage="true",才能使用exception对象。
* page
* 当前页面的对象。
* out对象
JspWriter  PrintWriter  response.getWriter()

<%= "HELLO" %>
<% out.print("AAAA"); %>
<% response.getWriter().print("BBBB"); %>
<% out.print("CCCC"); %>
* 输出结果:

* pageContext对象
* 域对象
* 自己存取值
* 向其他的域存取值。
* setAttribute(String name, Object value, int scope) 
* getAttribute(String name, int scope) 
* findAttribute(String name) 

* 可以获取其他8个对象。
* 编写框架或者通用性较高代码。

* 在JSP的时候(4个域对象)
ServletContext 整个web应用
session 一次会话
request 一次请求
pageContext 当前页面


* JSP的标签(JSP的动作)
<jsp:forward> :转发
属性:page 要转发的页面
<jsp:param> :传递参数
属性:name:参数名称 value:参数值
<jsp:include>   :页面的包含(动态包含)

属性:page 要包含的页面

            把数据封装到JavaBean中(JSP页面中完成的)
<jsp:userBean>
<jsp:setProperty>
<jsp:getProperty>

猜你喜欢

转载自blog.csdn.net/qq_30764991/article/details/80863969
今日推荐