JSP语法之脚本、指令、注释的综合例子

来源:互联网 发布:淘宝店的货源哪里来 编辑:程序博客网 时间:2024/06/07 06:35

JSP是我们的企业级动态网页的基本技术,实质上来说JSP在HTML静态语言中使用java代码的技术。所以我们需要理解java的代码在html语言中的使用语法:
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.servlet.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>
阅读全文
0 0
原创粉丝点击