JSP页面+请求转发+EL表达式

1) JSP全称Java Server Pages,顾名思义就是运行在java服务器中的页面,也就是在我们JavaWeb中的动态页面,其本质就是一个Servlet
2) 其本身是一个动态网页技术标准,它的主要构成有HTML网页代码、Java代码片段、JSP标签几部分组成,后缀是.jsp
3) 相比于Servlet,JSP更加善于处理显示页面,而Servlet跟擅长处理业务逻辑,两种技术各有专长,所以一般我们会将Servlet和JSP结合使用,Servlet负责业务,JSP负责显示。
4) 一般情况下, 都是Servlet处理完的数据,转发到JSP,JSP负责显示数据的工作

5) JSP的基本语法:

  1.JSP的脚本元素
脚本片段是嵌入到JSP中Java代码段,格式以<%开头,%>结尾,两个%号之间就可以编写Java代码了

  2.JSP的表达式

JSP表达式用来直接将Java变量输出到页面中,格式以<%=开头,以%>结尾,中间是我们要输出的内容

<!-- JSP声明 -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!-- 文档类型 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- HTML -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>my first jsp page</title>
</head>
<body>
<h1 align="center">HTML页面</h1>
            <!-- java代码:
                    Java片段
                    表达式
             -->
             <!-- java 片段 -->
             <%
                 String str ="abc";
                 System.out.println("abc");
             %>
             <!-- java表达式 -->
             <%=(4>2)?"正确":"错误"%>
             
             <!-- jsp页面的执行原理
                     JSP本质上就是一个Servlet。执行的时候会先转化为一个.java文件,在编译称.class文件;
                     如何转化:
                            Java代码片段招照搬
                            html,css,js,表达式  通过输出流out,write()方法写出
              -->
              
              <!-- 
                  作用:
                      1.  可以自动的将html相关的代码通过流写到浏览器
                      2.  支持写Java代码,可以灵活的做出一些处理
               -->

</body>
</html>

6) 请求转发

1) Servlet接收到浏览器端请求后,进行一定的处理,先不进行响应,而是在服务器端内部“转发”给其他Servlet程序继续处理。在这种情况下浏览器端只发出了一次请求,浏览器地址栏不会发生变化,用户也感知不到请求被转发了。
2) 转发请求的Servlet和目标Servlet共享同一个request对象。
3) 实现转发的API

7) JSP的隐含对象, 在jsp中可以直接使用的,内置

① out(JspWriter):相当于response.getWriter()获取的对象,用于在页面中显示信息。
② config(ServletConfig):对应Servlet中的ServletConfig对象。
③ page(Object):对应当前Servlet对象,实际上就是this。
④ pageContext(PageContext):当前页面的上下文,也是一个域对象。
⑤ exception(Throwable):错误页面中异常对象
⑥ request(HttpServletRequest):HttpServletRequest对象
⑦ response(HttpServletResponse):HttpServletResponse对象
⑧ application(ServletContext):ServletContext对象
⑨ session(HttpSession):HttpSession对象

9) EL表达式
① EL是JSP内置的表达式语言,用以访问页面的上下文以及不同作用域中的对象 ,取得对象属性的值,或执行简单的运算或判断操作。EL在得到某个数据时,会自动进行数据类型的转换。
② EL表达式用于代替JSP表达式(<%= %>)在页面中做输出操作
③ EL表达式仅仅用来读取数据,而不能对数据进行修改。
④ 使用EL表达式输出数据时,如果有则输出数据,如果为null则什么也不输出
⑤ EL表达式的语法:

  

 EL取值的四个域: 从小到大依次寻找
  pageScope             当前jsp页面上下文
  requestScope         请求
  sessionScope         会话
  applicationScope    web整个应用

原文地址:https://www.cnblogs.com/lemonzhang/p/12853684.html