您的位置:首页 > Web前端 > JavaScript

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

2017-12-12 13:12 711 查看
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.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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  html java jsp 脚本 注释