JSP:简单入门学习

  1. 概念:
    Java Server Pages: java服务器端页面
    可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码
    用于简化书写!!!
    2.图解:
    在这里插入图片描述
    这是一个图解,上面的代码是需要通过java代码进行编写的动态资源,而下面的网页是静态资源,如果就用html页面是无法达到该效果的,但是,如果在java代码上,通过resp.getWriter().write(“

    xxx

    ”);这种形式的话,很显然代码量太大。故可以使用jsp页面来进行解决这个问题,因为它可以写java代码。
  2. 原理
    JSP本质上就是一个Servlet。
    图解:
    在这里插入图片描述
    如果找到了index.jsp则假设给它转换为-index.java文件,然后再编译生成.class文件。然后,给他返回浏览器,因为能给浏览器访问的.class文件的话,就是一个Servlet的继承或实现类,所以,jsp文件其实是一个Servlet。
    实际测试:
    一访问jsp就会生成work目录,这个目录下面放着jsp对应的java文件和class文件;
    在这里插入图片描述
    在这里插入图片描述
    找到class类
    在这里插入图片描述
    打开java文件:
    在这里插入图片描述
    对于,HttpJspBase这个类,可以这么理解,因为tomcat是由apache公司写的,由于我们运行了tomcat。所以,这个类是实现的,通过查看tomcat的源代码 会发现他是继承了HttpServlet的。
    在这里插入图片描述
    所以它也算是一个Servlet的,其实jsp是apache公司为我们写的一个servlet ,原理也是通过resp.getWriter().write(“

    xxx

    ”);这种形式。只是apache公司给我们做了这种体力活(输出页面标签);所以,jsp可以用来简化代码的书写。
  3. JSP的脚本:JSP定义Java代码的方式(apache要求java写的格式)
    1. <% 代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。
    2. <%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置。(定义成员变量和方法,用的少,因为多线程安全问题)
    3. <%= 代码 %>:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。
      测试如下:
      在这里插入图片描述
      在这里插入图片描述
  4. JSP的内置对象:
    在jsp页面中不需要获取和创建,可以直接使用的对象
    jsp一共有9个内置对象(因为tomcat已经声明过了)
    今天学三个:
    1.request
    2.response
    3.out:字符输出流对象,可以将数据输出到页面上。和response.getWriter()类似
    response.getWriter()和out.write()的区别:
    在tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,再找out缓冲区数据。
    response.getWriter()数据输出永远在out.write()之前
    测试如下:
    在这里插入图片描述
    在这里插入图片描述
    结论:response先输出,out则按照定义顺序输出。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值