JSP语法之脚本、指令、注释的综合例子
2017-12-12 13:12
711 查看
JSP是我们的企业级动态网页的基本技术,实质上来说JSP在HTML静态语言中使用java代码的技术。所以我们需要理解java的代码在html语言中的使用语法:
1.语法:
2.JSP的原理
注意:JSP的实质就是servlet:
jsp在第一次被访问时会被Web容器翻译成servlet,在执行
过程:
第一次访问—->helloServlet.jsp—->helloServlet_jsp.java—->编译运行
PS:被翻译后的servlet在Tomcat的work目录中可以找到
3.指令
jsp的指令是指导jsp翻译和运行的命令,jsp包括三大指令:
1)page指令 — 属性最多的指令(实际开发中page指令默认)
属性最多的一个指令,根据不同的属性,指导整个页面特性
格式:<%@ page 属性名1= “属性值1” 属性名2= “属性值2” …%>
常用属性如下:
language:jsp脚本中可以嵌入的语言种类
pageEncoding:当前jsp文件的本身编码—内部可以包含contentType
contentType:response.setContentType(text/html;charset=UTF-8)
session:是否jsp在翻译时自动创建session
import:导入java的包
errorPage:当当前页面出错后跳转到哪个页面
isErrorPage:当前页面是一个处理错误的页面
2)include指令
页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中
格式:<%@ include file=”被包含的文件地址”%>
3)taglib指令
在jsp页面中引入标签库(jstl标签库、struts2标签库)
格式:<%@ taglib uri=”标签库地址” prefix=”前缀”%>
3.JSP的隐藏默认属性:jsp被翻译成servlet之后,service方法中有9个对象定义并初始化完毕,我们在jsp 脚本中可以直接使用这9个对象:
名称 类型 描述
out javax.servlet.jsp.JspWriter 用于页面输出
request javax.servlet.http.HttpServletRequest 得到用户请求信息,
response javax.servlet.http.HttpServletResponse 服务器向客户端的回应信息
config javax.servlet.ServletConfig 服务器配置,可以取得初始化参数
session javax.serv
4000
let.http.HttpSession 用来保存用户的信息
application javax.servlet.ServletContext 所有用户的共享信息
page java.lang.Object 指当前页面转换后的Servlet类的实例
pageContext javax.servlet.jsp.PageContext JSP的页面容器
exception java.lang.Throwable 表示JSP页面所发生的异常,在错误页中才起作用
4.例子“:”
起始页面:
结果:
例子代码:
1.forward:
2.checkEmail:
3.result
1.语法:
1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> ----- 会被翻译成service方法内部out.print() 3)<%!java代码%> ---- 会被翻译成servlet的成员的内容
2.JSP的原理
注意:JSP的实质就是servlet:
jsp在第一次被访问时会被Web容器翻译成servlet,在执行
过程:
第一次访问—->helloServlet.jsp—->helloServlet_jsp.java—->编译运行
PS:被翻译后的servlet在Tomcat的work目录中可以找到
3.指令
jsp的指令是指导jsp翻译和运行的命令,jsp包括三大指令:
1)page指令 — 属性最多的指令(实际开发中page指令默认)
属性最多的一个指令,根据不同的属性,指导整个页面特性
格式:<%@ page 属性名1= “属性值1” 属性名2= “属性值2” …%>
常用属性如下:
language:jsp脚本中可以嵌入的语言种类
pageEncoding:当前jsp文件的本身编码—内部可以包含contentType
contentType:response.setContentType(text/html;charset=UTF-8)
session:是否jsp在翻译时自动创建session
import:导入java的包
errorPage:当当前页面出错后跳转到哪个页面
isErrorPage:当前页面是一个处理错误的页面
2)include指令
页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中
格式:<%@ include file=”被包含的文件地址”%>
3)taglib指令
在jsp页面中引入标签库(jstl标签库、struts2标签库)
格式:<%@ taglib uri=”标签库地址” prefix=”前缀”%>
3.JSP的隐藏默认属性:jsp被翻译成servlet之后,service方法中有9个对象定义并初始化完毕,我们在jsp 脚本中可以直接使用这9个对象:
名称 类型 描述
out javax.servlet.jsp.JspWriter 用于页面输出
request javax.servlet.http.HttpServletRequest 得到用户请求信息,
response javax.servlet.http.HttpServletResponse 服务器向客户端的回应信息
config javax.servlet.ServletConfig 服务器配置,可以取得初始化参数
session javax.serv
4000
let.http.HttpSession 用来保存用户的信息
application javax.servlet.ServletContext 所有用户的共享信息
page java.lang.Object 指当前页面转换后的Servlet类的实例
pageContext javax.servlet.jsp.PageContext JSP的页面容器
exception java.lang.Throwable 表示JSP页面所发生的异常,在错误页中才起作用
4.例子“:”
起始页面:
结果:
例子代码:
1.forward:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <h2>作业提交</h2> <form action="checkEmail.jsp" method="post"> 请输入邮箱地址:<input name="email" type = "text" size="15"> <input type="submit" value="提交"> </form> </body>
2.checkEmail:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <% String email = request.getParameter("email"); if(email.equals("")){ %> <jsp:forward page="result.jsp"> <jsp:param value="0" name="result"/> </jsp:forward> <%} else {%> <jsp:forward page="result.jsp"> <jsp:param value="1" name="result"/> <jsp:param value="<%=email %>" name="email"/> </jsp:forward> <%}%> </body> </html>
3.result
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <h2>提交成功结果:</h2> <% String result = request.getParameter("result"); if (result.equals("0")){ %> <p>结果订阅失败!</p> <%}else{ %> <p>结果:<%=request.getParameter("email") %>作业提交成功</p> <% }%> </body> </html>
相关文章推荐
- JSP(2)jsp语法之指令元素、脚本元素、动作元素forward、注释方法
- JSP-注释,脚本元素,指令
- JSP - JSP中的脚本、指令、动作和注释
- JSP中的脚本、指令、动作和注释标识
- JSP中的脚本、指令、动作和注释标识
- JSP入门第二章——Jsp语法之脚本、指令、动作元素
- JSP基础语法:注释、Scriptlet、编译指令
- JSP JSP工作原理 JSP语法 JSP声明 JSP注释 JSP指令 jsp九大隐式/内置对象
- JSP基础语法:注释、Scriptlet、编译指令
- jsp指令与jsp注释以及jsp脚本和jsp声明、jsp表达式、jsp的生命周期
- JSP基本语法总结【1】(jsp工作原理,脚本元素,指令元素,动作元素)
- 复习:JSP基本语法(JSP注释 + JSP指令 + JSP脚本元素 + JSP动作元素)
- JSP(3)脚本、注释、指令
- 《游戏脚本的设计与开发》-1.3 基础语法(注释,变量,函数,条件语句)
- 网站安全编程 黑客入侵 脚本黑客 高级语法入侵 C/C++ C# PHP JSP 编程
- JSP注释、声明、指令、scriptlet、表达式
- java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象
- [置顶] Ollydbg 编写脚本的一些语法及例子(OD脚本)
- JSP脚本和指令的使用(基于JSP的web应用开发)
- JSP语法 隐藏注释