Jsp学习

Jsp学习

  • Jsp简介:Java Server Pages
    1、Jsp本质就是一个Servlet,因为Servlet是通过Java+html实现的,而Jsp页面也是通过html+Java,Jsp页面在翻译成java文件时,底层源码是继承HttpJspBase,HttpJspBase又继承HttpServlet
    2、Jsp是一个动态网页,必须运行在服务器中

  • Jsp运行原理
    1、第一次运行Jsp文件时,会经历以下步骤:
    ①服务器会将.jsp文件翻译成 .Java文件
    ②将该.Java文件编译成.class文件
    2、以后再访问该Jsp文件时:
    ①文件内容未改变时不会翻译和编译
    ②当文件内容改变时会重新编译和翻译

  • Jsp基本语法(6个)
    1、指令
    语法:<%@ %>
    2、模板元素:也就是html
    3、脚本片段:
    语法:<% %>
    作用:在页面上的脚本片段中书写的代码会被编译在源码的_jspService()方法中
    3、表达式
    语法:<%= %>
    作用:把数据在页面上显示出来
    4、注释
    Java中的注释://、/**/、/***/
    html中的注释:<!--注释内容-->在html源码中可以看到
    Jsp中的注释:<%-- 注释内容 --%>在html源码中看不到

  • 常用指令
    1、page指令
    语法:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    language:有且仅有Java语言
    contentType:与response.setContentType()作用一致
    pageEncoding:设置当前jsp的字符集
    import:导包
    errorPage:当前页面有误时,跳转的目标页面。
    isErrorPage:设置当前页面,是否为错误页面,参数为true或者false
    2、include指令:静态包含
    语法:<%@include file="被包含的文件路径" %>
    特点:被包含的文件,不会被翻译和编译

  • 动作标签
    注意:使用jsp动作标签时,如果不传参数时,不能在标签之间添加任何内容(包括空格)
    1、转发
    语法:<jsp:forward page="路径"></jsp:forward>
    2、动态包含
    语法:<jsp:include page="被包含的页面路径"></jsp:include>
    特点:动态包含中被包含的文件会被翻译和编译

  • Jsp九大隐含对象
    隐含对象:不需要我们实例化,直接就可以使用的对象
    对象明细:
    1、pageContext
    类型:PageContext
    作用:域对象
    2、request
    类型:HttpServletRequest
    作用:与Servlet中的request作用一致
    在Servlet中的获取方式:在doGet()或doPost()方法中直接使用
    3、session
    类型:HttpSession
    作用:域对象
    在Servlet中的获取方式:request,getSession();
    4、response
    类型:HttpServletResponse
    作用:与Servlet中的response作用一致
    在Servlet中的获取方式:在doGet()或doPost()方法中直接使用
    5、page
    类型:Object
    作用:this(当前类的对象)
    6、application
    类型:ServletContext
    作用:域对象
    在Servlet中的获取方式:this.getServletContext();
    7、config
    类型:ServletConfig
    作用:与Servlet中的ServletConfig作用一致
    在Servlet中的获取方式:this,getServletConfig();
    8、out
    类型:JspWriter
    作用:与Servlet中的PrinteWriter作用类似
    9、exception
    类型:Throwable
    作用:处理异常

  • Jsp四大域对象
    1、pageContext
    范围:在当前页面有效
    2、request
    范围:在当前请求有效(转发);如果使用重定向则无效
    3、session
    范围:在当前会话有效(与浏览器有关,只要不换或者关闭浏览器就有效
    4、application
    范围:只在当前web应用程序(项目)有效,重启服务器无效

  • 域对象共同点
    都有方法:
    setAttibute();
    getAttibute();
    removeAttibute();

  • 域对象的注意事项
    能用小域尽量不适用大域

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值