JavaWeb基础3—JSP、EL与JSTL

JavaWeb的技术体系
在这里插入图片描述

一.Java Server Pages

JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。

JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。

  • 1)Java Server Pages,顾名思义就是运行在java服务器中的页面,也就是在我们JavaWeb中的动态页面,其本质就是一个Servlet。

  • 2)其本身是一个动态网页技术标准,它的主要构成有HTML网页代码、Java代码片段、JSP标签几部分组成,后缀是.jsp

1.为什么要使用JSP

1)早期只有servlet与HTML,HTML不会处理请求,只能使用response输出标签数据,非常麻烦。

2)后来有了jsp,相比于Servlet与HTML,JSP既能处理请求又能处理显示页面,简化了Servlet的开发(意义)

3)但如果过度使用jsp,在jsp中即写大量的java代码,又写html,造成难于维护以及分工协作,而Servlet更擅长处理业务逻辑,两种技术各有专长,所以一般我们会将Servlet和JSP结合使用,Servlet负责业务,JSP负责显示。

4)一般情况下, 都是Servlet处理完的数据,转发到JSP,JSP负责显示数据的工作

5)再后来,javaweb开发借鉴mvc开发模式,程序的设计也变得更加合理

2.JSP的处理流程

服务器第一次使用jsp页面时:

在这里插入图片描述

之后会一直使用该servlet对象,除非页面发生改变。

JSP对应的java与class文件,在服务器文件夹:

  • org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\WebTest\

3.JSP语法

1)JSP的脚本元素:

  • 脚本片段是嵌入到JSP中Java代码段
  • 格式以<%开头,%>结尾,两个%号之间就可以编写Java代码了
<!-- 1.JSP脚本片段
        作用:用来在里面写Java代码-->
 <%
 	//在JSP中循环打印h1标签内容
    for(int i = 0 ; i < 10 ; i ++ ){
   
        //out.print("今天天气好晴朗,处处好风光!");
 %>     
        <h1>今天天气好晴朗,处处好风光!</h1>
 <%
    }
 %

2)JSP的表达式:用来输出对象

  • JSP表达式用来直接将Java变量输出到页面中
  • 格式以<%=开头,以%>结尾,中间是我们要输出的内容
 <!-- 2.JSP表达式
        作用:用来输出对象-->
  <%="我是通过JSP表达式输出的" %>

3)JSP中的注释

  • 1)<%-- JSP的注释 --%> —— 当被JSP引擎翻译成java文件时,会忽略JSP注释
  • 2)//JAVA的注释:JVM编译java文件时会忽略注释
  • 3)<!-- HTML的注释 -->:浏览器加载时,会忽略

4.JSP的九大隐含对象

变量名 真实类型 作用
pageContext PageContext 当前页面共享数据,还可以获取其他八个内置对象
request HttpServletRequest 一次请求访问的多个资源(转发)
session HttpSession 一次会话的多个请求间
application ServletContext 所有用户间共享数据
response HttpServletResponse 响应对象
page Object 当前页面(Servlet)的对象 this
out JspWriter 输出对象,数据输出到页面上
config ServletConfig Servlet的配置对象
exception Throwable 异常对象

5.JSP的域对象

1)四个域对象:

范围从小到大依次为:

a) pageContext域

  • 范围:当前页面;——离开这个页面,相关值不能使用
  • 对应的域对象:pageContext
  • 域对象的类型:PageContext

b) request域
范围:当前请求(一次请求)
对应的域对象:request
域对象的类型:HttpServletRequest

c) session域

  • 范围:当前会话(一次会话);从打开页面开始,到浏览器关闭——这是一次会话
  • 对应的域对象:session
  • 域对象的类型:HttpSession

d) application域

  • 范围:当前Web应用;只要服务器不关,一直可以使用
  • 对应的域对象:application
  • 域对象的类型:ServletContext
2)四个域对象都有以下三个方法:
  • void setAttribute(String key , Object value); //设置雨中key-value元素
  • Object getAttribute(String key); //获取key对应的value值
  • void removeAttribute(String key);//移除元素
3)四个域对象的使用规则:

能用小的就不用大的

  • 查找域对象中的key值,是从最小域开始

案例:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值