静态部分:标准的HTML标签、静态的页面内容,
动态部分:受Java程序控制的内容,这些都由java语言动态生成
简单的jsp页面代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'MyJsp.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> 欢迎学习Java Web知识, 现在时间是: <%out.println(new java.util.Date()); %> </body> </html>java脚本语言放在<% 和%>之间,通过这种方式将java代码嵌入在HTML页面中,由此便生成了动态的jsp页面。jsp的本质依然是一个servlet,而servl是一个特殊的类。
<%@page import="com.sun.org.apache.regexp.internal.REDebugCompiler"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'test.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <!-- 下面是jsp页面 --> <%for (int i = 0; i<7; i++) { out.println("<font size="+i+">"); %> 疯狂Java学习过程中</font> <br/> <%} %> </body> </html>font标签注解:规定文本的字体,字体尺寸以及字体大小
<font size="3" color="red">This is some text!</font> <font size="2" color="blue">This is some text!</font> <font face="verdana" color="green">This is some text!</font>
JSP注释:
<%--注释内容--%> jsp的注释不会送到客户端,即在源代码中是看不到注释内容的
而HTML的注释为<!--注释内容-->
JSP声明:
jsp的声明格式为:<%! 声明部分 %>
JSP声明用于声明一些变量以及方法
输出JSP表达式:
语法格式为:<%= 表达式 %>注意%与=是连续的,中间不能包含空格
输出表达式可以替换out.println输出语句
JSP脚本:
jsp脚本里可以包含任何可执行的java代码,例如:
<%@page import="com.sun.org.apache.regexp.internal.REDebugCompiler"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'test.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <table bgcolor = "#9999dd" border = "1" width = "300px"> <% for (int i = 0; i<10; i++) { %> <tr> <td>循环值:</td> <td><%= i %></td> </tr> <% } %> </table> </body> </html>
所以可以充分发挥java代码功能,连接数据库进行查询等操作
JSP的三个编译指令:
1、page:针对当前页面的指令
2、include:用于指定包含另一个页面
3、taglib:用于定义和访问自定义标签
JSP的7个动作指令:
1、jsp:forward:执行页面转向,将请求的处理转发到下一个页面
2、jsp:param:用于传递参数
3、jsp:include:用于动态引入一个jsp页面
4、jsp:plugin:用于下载JavaBean或Applet到客户端执行
5、jsp:useBean:创建一个JavaBean的实例
6、jsp:setProperty:设置javaBean实例的属性值
7、jsp:getProperty:输出JavaBean实例的属性值