JavaWeb开发 之 JSP

概念

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

原理

          * JSP本质上就是一个Servlet

JSP的脚本:JSP定义Java代码的方式

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

指令

作用:用于配置JSP页面,导入资源文件

格式:<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %>

分类:

1.page: 配置JSP页面的

           属性:

               * contentType:等同于response.setContentType()

                    1. 设置响应体的mime类型以及字符集
                    2. 设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性设置当前页面的字符集)

                * import:导包,建议导包写在多个指令;

                * buffer :字节流输出的缓存区大小;

                * errorPage : 当前页面如果发生错误了,会吧输出结果现在浏览器上,这样不好。所以这个属性是将跳转到一个提醒页面(服务器正忙。。。。);

                * isErrorPage:表示当前是否为错误页面,默认是false,如果是true的话,就可以在本页面中使用exception对象了。可以输出错误日志了。

                               * true:是,可以使用内置对象exception
                               * false:否。默认值。不可以使用内置对象exception

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8"
         pageEncoding="gb2312"
         language="java"
         errorPage="500.jsp"
         buffer="8kb" %>

<html>
<head>
    <title>$Title$</title>
</head>
<body>
<h1>ce shi </h1>
<%

    List list = new ArrayList();
    int i=11/0;
%>
</body>
</html>

 

2.include:页面包含的。导入页面的资源文件   

                <%@include file="top.jsp"%>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<h1>这top.jsp,是一个logo页面</h1>
<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
<%@ include file="top.jsp"%>
<html>
<head>
    <title>服务器正忙</title>
</head>
<body>
<h1>服务器正忙</h1>
<%
    //这里可以将错误日志写在日志文件中去;
    String message = exception.getMessage();
    System.out.println(message);
%>
</body>
</html>

 

3.taglib : 导入库资源

            先在库jar包放到libs目录下;然后通过下面指令导入库即可使用了。

                    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
                    * prefix:前缀,自定义的

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
    <c:if test=""></c:if>
</head>
<body>

</body>
</html>

 

注释

        1. html注释:
            <!-- -->:只能注释html代码片段
        2. jsp注释:推荐使用
            <%-- --%>:可以注释所有

 

JSP的内置对象:

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

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值