JSP的介绍和基本语法
来源:互联网 发布:软件培训 成都 骗局 编辑:程序博客网 时间:2024/05/04 06:27
JSP的介绍和基本语法
jsp概述
JSP全称Java Server Pages,是SUN公司定义的一种用于开发动态WEB资源的技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头 %>结束。
jsp适合编写输出动态内容,但不适合编写java逻辑。
jsp的本质
JSP本质是Servlet,jsp页面先经过翻译阶段,把jsp文件翻译成Java文件(这个Java文件其实就是Servlet),再由系统编译成Java类文件(.class文件)。
如图:
以Tomcat为例,我们编写好一个jsp文件,会在Tomcat的work文件夹对应的web应用下生成 名称_jsp.java和名称_jsp.class的文件。
而生成的Java文件,打开就是一个Servlet。
如下图:
jsp的基本语法
jsp模板元素
网页静态内容,HTML的标签
jsp的脚本
- 小脚本<% Java代码%>:这个代码是写在service()中。变量也是service()中的局部变量。
- 表达式<%= %>:相当于out.print();
- 声明<%! %>:声明的是全局变量。
jsp注释
jsp形式的注释:<%–注释内容–%> (在html页面不会留下注释,安全)
html形式的注释:(不安全,会嵌入html页面中)。
jsp三大指令
语法:
<%@ 指令名称 属性1="属性名称" 属性2="属性名称" ...%>或者将属性分开单独成句<%@指令名称 属性1="属性名称" %><%@指令名称 属性2="属性名称" %>
page指令
作用:用于定义jsp页面的各种属性
属性:
import:和Java代码中的import是一样的
如:<%@ page import="java.util.*"%>jsp会自动导入一下包: import.java.lang.*; import.javax.servlet.*; import.javax.servlet.http.*; import.javax.servlet.jsp.*;
session:是否会自动创建session对象。默认值是true。如:<%@ page session=”true”%>
buffer:jsp中有javax。servlet.jsp.JspWriter输出字符流,buffer是设置缓冲区大小,默认8kb。(建议使用默认值)
- errorPage:设置错误页面,如果页面有错误,跳转到指定的页面。
- isErrorPage:是否创建throwable对象。默认false。
- contextType:等同于response.setContextType(“text/html;charset=utf-8”);
- pageEncoding:告诉jsp引擎要翻译的文件使用的编码。如<%@ page pageEncoding=”utf-8”%>
- isELIgnored:是否忽略EL表达式。默认false。
- isThreadSafe:是否支持线程安全。默认false。
- extends:指定 JSP 页面所生成的 servlet 的超类。
- language:指定语言,默认Java。目前只支持Java。
include指令:把其他资源包含到当前页面中
- 静态包含语法:
<%@ include file="/*.jsp"%> 动态包含语法:
<jsp:include include page="/*.jsp"></jsp:include>
二者的区别:翻译的时间段不同
前者:在翻译的时就把两个文件合并。
后者:不会合并文件,当执行include代码时,才会包含另外一个文件的内容。原则:能使用静态include,就不要使用动态include。
- 静态包含语法:
taglib指令
作用:在jsp页面中导入JSTL标签库。替换jsp中的Java代码片段。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="core" %> prefix:别名
jsp六个动作
- jsp:include:动态包含
- jsp:forword:转发相当于request.getRequestDispatch(“”).forword();
- jsp:param:设置请求参数
- jsp:userBean:创建一个对象
- jsp:setProperty:给指定的对象赋值
- jsp:getProperty:取出指定对象的属性值
用法:
<jsp:userBean id="user" class="User"></jsp:userBean>
jsp九大内置对象
request:类型HttpServletRequest
response:类型HttpServletResponse
- session:类型HttpSession,有session=”true”开关控制。
- application:类型ServletConfig
- exception:类型Throwable,由isErrorPage=”false”开关控制。
- page:类型Object,当前对象this,代表当前servlet实例
- config:类型ServletConfig
- out:类型JspWriter,字符输出流,相当于printWriter对象。
- pageContext:类型PageContext
PageContext
PageContext是一个Page域对象,它可以操作其他三个域对象(request session application)的数据。
API介绍:
void setAttribute(String name,Object o)
Object getAttribute(String name)
void removeAttribute(String name)
Object findAttribute(String name):
自动从page request session application依次查找,找到了就取值,结束查找。
其他操作方法
void setAttribute(String name,Object o,int Scope)
Object getAttribute(String name,int Scope)
void removeAttribute(String name,int Scope)
Scope的取值:
- PageContext.PAGE_SCOPE
- PageContext.REQUEST_SCOPE
- PageContext.SESSION_SCOPE
- PageContext.APPLICATION_SCOPE
它可以创建其他8个隐式对象
在普通类中可以通过PageContext获取其他JSP隐式对象。自定义标签时使用。
提供了简易方法:
pageContext.forward(“”);
pageContext.include(“”);
四大作用域对象
PageContext : pageConext 存放的数据在当前页面有效。开发时使用较少。
ServletRequest: request 存放的数据在一次请求(转发)内有效。使用非常多。
HttpSession: session 存放的数据在一次会话中有效。使用的比较多。如:存放用户的登录信息,购物车功能。
ServletContext: application 存放的数据在整个应用范围内都有效。因为范围太大,应尽量少用。
- JSP的介绍和基本语法
- jsp基本语法介绍
- JSP基本语法的详细介绍
- J2EE---JSP基本语法介绍
- jsp的基本语法
- JSP的基本语法
- JSP的基本语法
- JSP的基本语法
- Jsp的基本语法
- jsp的基本语法
- Java-Jsp的基本语法
- JSP的三大指令和七大动作基本语法
- JavaWeb中JSP的基本语法和隐含对象
- JSP的基本语法与基本指令
- LINQ的基本语法介绍
- Jsp基础1:基本语法和使用
- JSP的简介与基本语法
- JSP指令的基本语法格式
- java static关键字的使用
- 寻找道路 noip2014D2T2
- 收藏几个前端框架
- 常用快捷键、用户管理和文件权限——linux笔记(2)
- Python学习记录,入门篇
- JSP的介绍和基本语法
- Node.js~在linux上的部署~外网不能访问node.js网站的解决方法
- FootballNum预测器英超预测
- linux常用命令
- c++ java jstring转char* double转char*
- WorkerMan学习篇:准备和热身
- tomcat源码分析五:Mapper(url到Wrapper的映射)
- EL表达式和JSTL标签
- 论文阅读总结之一