WEB核心【JSP】第十四章

举报
爱吃豆的土豆 发表于 2022/09/25 03:21:55 2022/09/25
【摘要】 目录 1,JSP        1.1:概述&原理         1.2:基本语法【重点】       &nb...

目录

1,JSP

       1.1:概述&原理

        1.2:基本语法【重点】

        1.3:指令

                1.3.1:page

                1.3.2:include

                1.3.3:taglib

        1.4:九大内置对象【该阶段重点】

                1.4.1:简述

                1.4.2:pageContext

        1.5:out

        1.6:JSP四大作用域【重点】


  • 💂 个人主页: 爱吃豆的土豆
  • 🤟 版权: 本文由【爱吃豆的土豆】原创、在CSDN首发、需要转载请联系博主
  • 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦
  • 🏆人必有所执,方能有所成!

  • 🐋希望大家多多支持😘一起进步呀!

1,JSP

       1.1:概述&原理

目标:

        1,知道JSP和HTML区别

        2,知道JSP在tomcat的执行原理

为什么要使用JSP:

JS:特效,简要逻辑

JAVA:业务逻辑,复杂操作

JSP:java+HTML+css+js

跨平台,业务代码相分析,组件重用,预编译

 JSPJava独有,除了可以书写HTML/css/js代码,更支持书写Java代码和EL表达式等强大功能。

拓展名:.jsp

JSP和HTML区别

HTML:静态WEB资源

HTML+CSS+JS,处理简单业务逻辑

轻量化快速开发,减少servlet出现,HTML+AJAX  模仿JSP的效果

JSP:动态WEB资源

HTML+CSS+JS + JAVA,处理复杂业务逻辑。 

重量级开发,要求效果优先。   JSP+AJAX,给用户体验极佳

找到JSP文件执行的位置 

因为HttpJspPage是Servlet的子接口,所以JSP本质是一个Servlet

service

 

        1.2:基本语法【重点】

 <% java 代码 (变量,方法,语句)%>

禁用嵌套

不是脚本,变为html元素 

 

定义的都是局部变量,都在_jspService方法内部 

脚本输出:

之前:<%out.write("输出内容");%>

现在:<%=变量/输出内容%>

<%  %>     放在_jspService方法中

<%! %>   放在成员位置

<%= %>   翻译为out.print();

 

 

建议JSP文件上尽量使用JSP注释 

        1.3:指令

                1.3.1:page

 

Idea 会帮助咱们自动导入 

 

 

 


  
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
  2. <html>
  3. <head>
  4. <title>Title</title>
  5. </head>
  6. <body>
  7. <h1>错误信息的专用页面 T T</h1>
  8. <img src="002.png"/>
  9. <img src="001.png"/>
  10. <%
  11. //当isErrorPage设置为true时,当前JSP就是一个专用的错误信息处理页面
  12. //可以用到一个exception对象,将出错的信息进行封装
  13. String message = exception.getMessage();
  14. if(message.equals("/ by zero")){
  15. out.write("001代码");
  16. }
  17. %>
  18. </body>
  19. </html>

                1.3.2:include


  
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>Title</title>
  5. </head>
  6. <body>
  7. <%
  8. String str = "字符串";
  9. %>
  10. <%@include file="/part.jsp"%>
  11. </body>
  12. </html>

  
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>Title</title>
  5. </head>
  6. <body>
  7. <%=str%>
  8. </body>
  9. </html>

                1.3.3:taglib(JSTL标签详细)

                该指令用于从外界向当前JSP导入标签库

 

        1.4:九大内置对象【该阶段重点】

                1.4.1:简述

 isErrorPage=true,才会有exception对象

都在_jspService方法中

请求响应:

request

response

域对象:

pageContext

request

session

application

其他对象:

out

config

exception

page

 

                1.4.2:pageContext

作用1:获取其他八大内置对象

作用2:作为最小域对象,操作其他作用域,作用域键值对查找【频繁】

当前页面域:pageContext,只有在当前页面有效。

<%
    pageContext.setAttribute("uname","爱吃豆的土豆");
%>
<%=pageContext.getAttribute("uname")%>

 

以request为例,向request作用域存放数据:

<%
    //效果相同
    //request.setAttribute("username","爱吃豆的土豆");
    pageContext.setAttribute("username","爱吃豆的土豆",PageContext.REQUEST_SCOPE);
%>
<%=pageContext.getAttribute("username",PageContext.REQUEST_SCOPE)%>

 

查找数据

 

<%
    pageContext.setAttribute("pwd","123");//page
    pageContext.setAttribute("pwd","456",PageContext.REQUEST_SCOPE);//request
%>
<%=pageContext.findAttribute("pwd")%>
<%=pageContext.findAttribute("pwd222222")%>

 

        1.5:out

out对象和Servlet字符流区别:

响应体中:优先刷入的是Servlet字符流

响应体中:紧随其后 是out对象 刷入的内容

        1.6:JSP四大作用域【重点】

页面范围:一般无实际应用

请求范围:指需要短暂保存的数据 / 指需要在请求转发中传递的object数据

会话范围:指浏览器开启~浏览器关闭,要保存的OBJECT数据

应用范围:指整个项目期间,所有程序/所有用户 都要共享/传递的 Object数据

Servlet:

Servlet有三大作用域:

HttpServletRequest

HttpSession

ServletContext

 

最后:

        如果文章对您有帮助,就拿起小手赶紧给博主点赞💚评论❤️收藏💙 一下吧! 

       愿我们在未来的日子里。熠熠生辉!!!

文章来源: qianxu.blog.csdn.net,作者:爱吃豆的土豆,版权归原作者所有,如需转载,请联系作者。

原文链接:qianxu.blog.csdn.net/article/details/125349480

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。