相关数据包




1.什么是jsp,它有什么用? jsp的全称是java server pages。是Java的服务器页面。 jsp的主要作用是代替Servlet程序回传html页面的数据。 因为Servlet程序回传html页面数据是一件非常繁琐的事情、开发成本和维护成本都极高。
2.jsp如何访问? jsp页面和html页面一样,都是存放在web目录下,访问也跟访问html页面一样。
比如: 在web目录下有如下的文件: web目录 a.html页面 访问地址是======>>>>>> http://ip:port/工程路径/a.html b.jsp页面 访问地址是======>>>>>> http://ip:port/工程路径/b.jsp
3.jsp的本质是什么? jsp页面的本质上是一个Servlet程序。 原因: 当我们第一次访问jsp页面时,Tomcat服务器会帮我们把jsp页面翻译成为一个java源文件,并且对它编译成为.class字节码程序。我们打开java源文件不难发现其里面的内容是: 我们跟踪源代码发现,HttpJspBase类。它直接继承了HttpServlet类。也就是说,jsp翻译出来的java类,间接继承了HttpServlet类,也就是说,翻译出来是一个Servlet程序。 总结:通过翻译的java源代码我们就可以得到结果:jsp就是Servlet程序。
大家也可以去观察翻译出来的Servlet程序的源代码,不难发现,其底层实现,也是通过输出流,把html页面数据回传给客户端。
4. jsp的三种语法 a)jsp头部的page命令 jsp的page指令可以修改jsp页面中的一些在重要的属性或者行为。 <%@ page contentType=“text/html;charset=UTF-8” language=“java” %> b)jsp中的常用脚本 i. 声明脚本(极少使用) 声明脚本的格式是: <%! 声明java代码%> 作用: 可以给jsp翻译出来的java类定义属性和方法甚至是静态代码块、内部类等。
1.声明类属性
2.声明static静态代码块
3.声明类方法
4.声明内部类
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %><%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2020/7/18
Time: 8:58
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--练习:
1.声明类属性
2.声明static静态代码块
3.声明类方法
4.声明内部类
--%>
<%--1.声明类属性--%>
<%!
private Integer id;
private String name;
private static Map
%>
<%--2.声明static静态代码块--%>
<%!
static{
map=new HashMap
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");
}
%>
<%--3.声明类方法--%>
<%!
public int abc(){
return 12;
}
%>
<%--4.声明内部类--%>
<%!
public static class A{
private Integer id=12;
private String abc="abc";
}
%>
ii. 表达式脚本(常用) 表达式脚本的格式是:<%=表达式%> 表达式脚本的作用是:在jsp页面上输出数据。
表达式脚本的特点:
1.所有的表达式脚本都会被翻译到_jspService方法中
2.表达式脚本都会被翻译成为out.print()输出到页面上
3.由于表达式脚本翻译的内容都在_jspService()方法中,所以_jspService()方法中的对象都可以直接使用。
4.表达式脚本中的表达式不能以分号结束。
练习:
1.输出整型
2.输出浮点型
3.输出字符串
4.输出对象
<%=12 %>
<%=12.12%>
<%="我是字符串"%>
<%=map%>
<%=request.getParameter("username")%>
浏览器结果:
iii.代码脚本 代码脚本的格式: <% java语句 %> 代码脚本的作用是:可以在jsp页面中,编写我们自己需要的功能(写的是java语句)。
代码脚本的特点是:
1.代码脚本翻译之后都在_jspService方法中
2.代码脚本由于翻译到_jspService()方法中,所以在_jspService()方法中的现有对象都可以直接使用。
3.还可以由多个代码脚本块组合完成一个完整的java语句。
6.jsp中的out输出和response.getWriter输出的区别 response中+表示响应,我们经常用于设置返回给客户端的内容(输出) out也是给用户做输出使用的。
7.jsp常用标签之静态包含