JSP学习之路day01

什么是JSP

  • JSP是Java Server Pages的简称,跟Servlet一样可以动态生成HTML响应,JSP文件命名为xxx.jsp。
  • 与Servlet不同,JSP文件以HTML标记为主,然后内嵌Java代码段,用于处理动态内容。
  • JSP和Servlet一样可以提供动态的HTML响应。不同的是这个以.jsp结尾的文件以THML为主内嵌少量的Java代码而Servlet是纯Java代码。

JSP与Servlet的关系

请求
响应
转译,编译
执行
客户端
JSP页面
Servlet

当浏览器请求JSP时,JSP经过转译形成对应的Java文件,Java文件经过编译链接形成.java文件。.java文件会用来创建Sercvlet对象,这个对象就可以提供动态HTML响应。

JSP 语法结构

声明区
  • 作用

用来定义变量 或者定义方法的

  • 语法

<%! 在这里 定义变量 或者 定义方法的 %>

表达式
  • 作用

用来取变量 的值 或者 方法的返回值 或者对象对应的属性值 并做出展示

  • 语法

<%= 表达式 %>

代码块 — 代码片段
  • 作用

用来编写Java代码

  • 语法

<% %>

JSP 中的注释
 <!-- 标记语言注释--> 它是要发给浏览器的
 <%-- JSP注释 --> 不发给浏览器
JSP中的指令
  • 语法
    <%@指令名 属性=“值” 属性2=“值” %>
    - JSP 中的 三大指令作用 以及属性 属性的作用
    page 指令

作用:用来导包 和 做一些页面属性的设置
属性:
import 用来导包
errorPage 当JSP出现错误时,跳转到显示比较友好的一个页面上
isErrorPage 是不是一个错误 页面 如果是则可以使用exception对象来获取异常信息。
contentType 页面以什么格式和编码进行显示数据

taglib指令

作用:用来导入变迁库的指令
属性:
prefix 前缀 用来指定标签库的代号 短名
uri 统一资源标识 用来指定标签库的位置

include 指令

作用:用来包含特定页面的指令 静态包含
属性:
file 用来指定包含的页面

JSP的动作
  • 语法:

    <jsp:动作名 属性="值">
    </jsp:动作名>
    如果中间没有内容 还可以简写成<jsp:动作名 属性="值" />
    
  • 动作 动态包含

      <jsp:include>
      也是用来包含页面的 只不过和静态包含的区别是先翻译成class文件 
      再进行包含!
      而静态包含 直接把页面包含进来 再翻译成class。
      还可以向被包含页面 通过<jsp:param name="" value="" /> 传递参数
    
JSP内置对象

在JSP中 不用定义 就可以直接使用的对象 叫内置对象。
在JSP中 转换成Servlet 时 会自动追加这些变量的定义。

####### JSP中的九大内置对象

1.out JspWriter 向JSP对应位置输出内容
2.request HttpServletRequest 封装Http请求信息的对象
3.response HttpServletResponse 封装Http响应信息的对象
4.session HttpSession 封装会话信息的对象
5.pageContext PageContext 封装页面上下文信息的对象
6.page Object JSP页面本身
7.application ServletContext 封装servlet上下文信息的对象
8.config ServletConfig 封装servlet配置信息的对象
9.exception Excpetion 封装异常信息的对象

九大内置对象对应的API
 out 	JspWriter		哪里出现写哪里
 		 println	write
 		PrintWriter	 	不管出现在哪里 都是从头开始写内容

 request
		request.getParameter("name")	根据name 获取对应的参数值   返回值String
		request.getParameterValues("name")	根据name 获取对应的参数值的数组
		request.setCharacterEncoding("utf-8")	设置参数的编码
		request.setAttribute("key(名字)",Object)	设置属性值
		request.getAttribute("key(名字)")	根据key(名字) 获取对应的值	返回值Object
		request.removeAttribute("key(名字)")	根据key(名字) 删除对应的值
		request.getRequestDispatcher("url")	获取转发器
		request.getCookies()	获取请求的对应Cookie数组
		request.getMethod()	获取请求方式get post put delete
		request.getServletContext()	获取servlet上下文对象
		request.getSession()	获取session 如果session 失效则创建新的
		request.getSession(false)	获取session 如果session 失效则返回null
		request.getServletPath()	获取文件路径	项目名后面的部分
		request,getRequestURL() 	获取文件编码	问号前面的部分
		request.getReuqestURI()	/项目名+ServletPath
		request,getQueryString()	获取问号后面的部分
		request.getLocalPort()	获取服务器端口号
		request.getRemotePort()	获取客户端端口号
		request.getLoaclAddr()	获取服务器地址
		request.getRemotePort()	获取访问服务器的客户端地址

 
 response		HttpServletResponse
 		response.getWriter()	获取向浏览器输出流对象
 		response.setContentType("text/html;charset=utf-8")	设置相应格式和编码
 		response.sendRedirect("url")	实现重定向
 		response.sendError(状态码,"错误消息")	设置错误编码
 		encodeRedirectURL("url")	恢复jsessionid 传输
 
 
 session		HttpSession
 		session.setAttribute("key",Object)	设置属性值
 		session.getAttribute("key")	根据key 获取对应的值
 		session.removeAttribute("key")	根据key 删除对应的值
 		session.setMaxInactiveInterval(int seconds)	设置最大不活动周期
 		session.invalidate()	立即失效
 		session.getId()	获取session的id

 
 application	ServletContext
 	application.setAttribute("key",Object)	设置属性值
 	application.getAttribute("key")	根据key 获取对应的值
 	application.removeAttribute("key")	根据key 删除对应的值
 	application.getRealPath("WebContext下的文件名")	获取WebContext 真是磁盘路径
 	application.getInitParameter("name")	获取web,xml 全局初始化参数对应的值


pageContext	页面上下文
	pageContext.setAttribute("key",Object)	设置属性值
	pageContext.getAttribute("key")	根据key 获取对应的属性值
	pageContext.removeAttribute("key")	根据key 删除对应的属性值
	pageContezt.getXX()	可以管理其他内置对象 进而获取其它的八个内置对象


page	页面对象本身	Object


config	ServletConfig
获取servlet	信息的对象
	config.getInitParameter("name")	获取针对某个具体的servlet的初始化参数
	config.getServletName()	获取servlet的名字
	config.getServletContext()	获取servlet上下文



exception	所有异常的父类是Throwable
	exception.getMessage()	获取异常消息
	只有isErrorPage="true"	才可以使用exception对象
	errorPage	如果发生错误 就跳转到错误页面			局部异常处理
	还可以通过 配置web.xml	配置 全局异常处理
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值