• 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整个应用

  • 相关阅读:
    Call to undefined function curl_init() 解决方案-PHP
    手机web禁止微信调整字体
    Apache2.4+PHP7+MySQL5.7配置
    pip下载时临时指定源
    form提交表单时,action携带参数(form跳转页面时在url中拼接字符串)
    pyspark 出现pyspark.sql.utils.IllegalArgumentException: 'requirement failed: Column prediction must be of type double but was actually float.'异常
    安装vue
    ubuntu安装ssh和ssh本地免密登录
    Python获取当前目录和上级目录
    购买了云服务器后做的一些事
  • 原文地址:https://www.cnblogs.com/lemonzhang/p/12853684.html
Copyright © 2020-2023  润新知