JSP 2021-02-15

## JSP

    1. 概念:
        * Java Server Pages: java服务器端页面
            * 可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码
            * 用于简化书写!!!

    2. 原理
        * JSP本质上就是一个Servlet

    3. JSP的脚本:JSP定义Java代码的方式
        1. <%  代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。
        2. <%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置。
        3. <%= 代码 %>:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。

   4. 指令
        * 作用:用于配置JSP页面,导入资源文件
        * 格式:
            <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %>
        * 分类:
            1. page        : 配置JSP页面的
                * contentType:等同于response.setContentType()
                    1. 设置响应体的mime类型以及字符集
                    2. 设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性设置当前页面的字符集)
                * import:导包
                * errorPage:当前页面发生异常后,会自动跳转到指定的错误页面
                * isErrorPage:标识当前也是是否是错误页面。
                    * true:是,可以使用内置对象exception
                    * false:否。默认值。不可以使用内置对象exception


            2. include    : 页面包含的。导入页面的资源文件
                * <%@include file="top.jsp"%>
            3. taglib    : 导入资源
                * <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
                    * prefix:前缀,自定义的
    5. 注释:
        1. html注释:
            <!-- -->:只能注释html代码片段
        2. jsp注释:推荐使用
            <%-- --%>:可以注释所有


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

        * response.getWriter()数据输出永远在out.write()之前

简单案例:

<%@ page contentType="text/html;charset=UTF-8" language="java"  import="domain.User" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@include file="index.jsp"%>
<html>
<head>
    <title>500</title>
</head>
<body>
<%--我是注释--%>
<h1>服务器正忙</h1>
<h1>request对象</h1>
<% String name="张三";
    request.setAttribute("name",name);
    request.getRequestDispatcher("/400.jsp").forward(request,response);%>
<h1>response对象</h1>
<%
    HttpSession session1 = request.getSession();
    session1.setAttribute("name",name);
    response.sendRedirect("/200.jsp");%>
<h1>out对象</h1>
<%=name%>
<h1>application</h1>
<% ServletContext servletContext = request.getServletContext();
  //获取文件真实路径
   servletContext.getRealPath("/b.txt");%>
</body>
</html>

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值