JSP

1.JSP入门

我们可以通过servlet中的resp对象给浏览器编写一个漂亮的页面:
resp.getWriter().write("

恭喜您注册成功!

");
resp.getWriter().write("");
于是jsp诞生了。
jsp:java server page --java的服务器端页面
index.jsp--> index_jsp.java -->Servlet而已。
因为我们在servlet中写页面,非常的麻烦,所以诞生了jsp,可以让我们像编写页面那样去写Servlet.
编写完的jsp,通过tomcat 自动转换为Servlet,我们所谓的页面,实则是一行行的out.write("")
jsp的脚本:
<% 代码%> 定义的java代码,在service中运行。
<%!代码%> 定义java代码,在jsp转换后的成员变量的位置。
<%= 代码%> 定义java代码,会输出到页面上。
编译完之后的代码,在这个tomcat 的 work目录下
C:\Users\Administrator.IntelliJIdea2019.1\system\tomcat\Tomcat_8_5_31_ServletDemo03
Servlet能干的事情JSP都可以干,JSP干的事儿Servlet也能干。
Servlet一般处理业务(Java代码)
JSP负责页面的展示,不做过多的业务处理。

2.jsp定义

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

3.jsp脚本

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

4.jsp的内置对象

JSP的内置对象:
* 在jsp页面中不需要获取和创建,可以直接使用的对象
* jsp一共有9个内置对象。
*
* request
* response
* out:字符输出流对象。可以将数据输出到页面上。和response.getWriter()类似
* response.getWriter()和out.write()的区别:
* 在tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,再找out缓冲区数据。
* response.getWriter()数据输出永远在out.write()之前

5.页面跳转首页

<!-- 当浏览器中只输入项目名称,没有指定具体界面的时候,tomcat会从第一个界面开始查找,直到找到对应的界面然后展示,如果没有    404 -->
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>

如果是servlet3.0 默认加载index.jsp
如果不想跳转到该界面
可以在index.jsp中通过编写代码的形式,完成跳转

6.jsp文件的创建

如何快速将一个写好的界面html编程JSP:
1、修改后缀名为.jsp
2、加上jsp专用头盔
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

7.jsp和servlet的关系

JSP和Servlet关系
1、JSP可以有HTML标签和Java代码,Servlet也可以编写Html和Java代码
2、JSP运行原理:jsp会先转换为.java文件,然后编译为.class文件
在编译为java文件的时候继承HttpJspBase,而这个类继承HttpServlet,所以JSP最终是以Servlet的方式响应给浏览器的。
3、JSP可以当Servlet使用,Servlet能干的事情JSP都可以干,比如提交表单,可以直接提交给JSP
JSP:编写HTML方便,编写Java代码困难
Servlet:编写Java方便,编写HTML很困难
以前编写一个某某管理系统 JSP一写到底
jsp,虽然长得跟html一样,但是,jsp页面不许运行在tomcat中,通过浏览器打开一个jsp页面是无法显示的,但是html可以正常显示。
a.jsp --> a_jsp.java --> 发现其实是一个servlet
为什么这么干? 因为我们在servlet中编写页面效率非常的低,如果可以编写jsp像编写html一样简单就可以了--> jsp-->擅长写html页面
业务逻辑部分-->Servlet
页面展示 --> Jsp

8.jsp指令

作用:用于配置jsp页面,导入资源文件
分类
1、page 用于配置jsp页面的
contentType: 等同于response.setContentType("text/html;charset=UTF-8")
language: java 目前只支持java
import : 导入java的package
errorPage: 当当前页面发送错误时,会自动跳转到错误页面
isErrorPage: true 表示当前页面是否是错误页面
如果错误页面isErrorPage=true,可以使用jsp的内置对象exception
jsp中有9个内置对象,所谓的内置对象就是直接拿过来就能使用的对象。
2、include : 导入页面的资源文件
3、tablib : 导入资源
<%@ taglib prefix="p" uri="http://java.sun.com/jsp/jstl/core" %>

9.代码注释

jsp代码的注释
只能注释html,无法注释掉jsp
<%--jsp的注释--%> 可以注释所有内容,html/jsp

10.jsp的九大内置对象

posted @ 2021-09-04 21:26  码丁XIA  阅读(104)  评论(0)    收藏  举报