021-JSP 看了这篇就可以快速入门

1. 概念
JSP:Java Server Pages: java服务器端页面

可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码,用于简化书写。

2. 原理
JSP本质上就是一个Servlet   ,JSP经过编译后本质在tomcat 会转换成一个Servlet。

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

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

4.用法

1. 指令
作用:用于配置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:前缀,自定义的


2. 注释
1. html注释:和HTML注释写法一样  ,<!-- --> 只能注释html代码片段

2. jsp注释:推荐使用     <%-- --%>可以注释所有,既可以注释html,也可以注释java代码片段


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


MVC:开发模式    
1. jsp演变历史
1. 早期只有servlet,只能使用response输出标签数据,非常麻烦
2. 后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,有写html表,造成难于维护,难于分工协作
3. 再后来,java的web开发,借鉴mvc开发模式,使得程序的设计更加合理性

2. MVC
1. M:Model,模型。JavaBean  ,完成具体的业务操作,如:查询数据库,封装对象

2. V:View,视图。JSP  ,展示数据

3. C:Controller,控制器。Servlet
            获取用户的输入
            调用模型
            将数据交给视图进行展示

3.优缺点
优点:
                1. 耦合性低,方便维护,可以利于分工协作
                2. 重用性高

缺点:
                1. 使得项目架构变得复杂,对开发人员要求高


jsp   demo

通常jsp在项目中的位置

<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=gbk" errorPage="500.jsp"   pageEncoding="GBK" language="java" buffer="16kb" %>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>

  <%

    List list = new ArrayList();
    int i = 3/0;

  %>
  </body>
</html>

自定义jsp异常页面

<%@ page contentType="text/html;charset=UTF-8" isErrorPage="true" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h1>服务器正忙...</h1>
    <%
        String message = exception.getMessage();
        out.print(message);
    %>
</body>
</html>

    
 

发布了103 篇原创文章 · 获赞 26 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/lindroid/article/details/104722808
今日推荐