发表于: 2017-03-02 01:12:14
1 1679
今天完成的事情:学习基础的JSP.
明天的计划:根据师兄的代码完成动态替换.
遇到的困难:在没看到师兄代码之前,我根本不知道是这样替换的好菜啊.
收获:
JSP基础知识:
JSP是Java中的一种应用,有自己的扩充语法,而且在JSP中,所有Java语句都可以使用.
JSP模板元素
1.JSP页面中的HTML内容称之为JSP模板元素.
2.JSP模板元素定义了网页的基本骨架,即定义了页面的结构和外观;
JSP表达式
JSP脚本表达式用于将程序数据输出到客户端
语法:<%=变量或表达式%>
举例:输出当前系统时间
1.<%=new java.util.Date()%>
表达式中不能有分号<;>
JSP脚本片段
JSP脚本片段用于在JSP页面中编写多行Java代码,语法:
<%
多行Java代码
%>
在<% %>中可以定义变量,编写语句,不能定义方法.
例子:
<%
int num = 0;//
/*编写语句*/
for(int i = 0;i <= 100; i++){
sum+=i;
}
%>
注意事项:
1.JSP脚本片段中只能出现Java代码,不能出现模板元素.JSP引擎在翻译JSP页面时,会将JSP脚本片段中的Java代码原封不动的放入Servlet的_jspService方法中;
2.JSP脚本片段中的Java代码必须严格遵循Java语法,例如每句代码结尾都要加<;>结尾.
3.在一个JSP页面中可以有多个JSP脚本片段,在两个或多个脚本片段之间可以嵌入文本,HTML标记和其他JSP元素.
例如:
<%
int x = 0;
out.println(x);
%>
<p>这是一个JSP页面</p>
<%
int y = 20;
out.println(y);
%>
!多个脚本片段之间可以互相访问.
!单个脚本片段可以不完整,但是,多个脚本片段组合后必须是完整的Java语句;
<%
for (int i=1; i<5; i++)
{
%>
<H1>http://localhost:8080/JavaWeb_Jsp_Study_20140603/</H1>
<%
}
%>
4.JSP声明
JSP页面中编写的所有代码,默认会翻译到servlet的service方法中,而JSP声明中的Java代码被翻译到_jspService方法的外面,语法:
<%!
Java代码
%>
所以,JSP声明可用于定义JSP页面转换成的servlet的静态代码块,成员变量和方法.
多个静态代码块,变量和函数可以定义在一个JSP声明中,也可以分别单独定义在多个JSP声明中.
JSP隐式对象的作用范围仅限于Servlet的_jspService方法,所以JSP声明中不能使用这些隐式对象.
例子:
<%!
static {
System.out.println("loading Servlet!");
}
private int globalVar = 0;
public void jspInit(){
System.out.println("initializing jsp!");
}
%>
<%!
public void jspDestroy(){
System.out.println("destroying jsp!");
}
%>
5.JSP注释风格
显示注释:直接使用HTML格式的注释<!—注释内容—>
隐式注释:直接使用Java注释:// /*…..*/
JSP自己的注释:<%—注释内容 —%>
<!--这个注释可以看见-->
<%
//JAVA中的单行注释
/*
JAVA中的多行注释
*/
%>
<%--JSP自己的注释--%>
JSP指
JSP指令是为JSP引擎而设计的,它并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分.
在JSP2.0规范中共定义了三个指令:
1.page指令
2.include指令
3.taglib指令
JSP指令的基本语法格式:<%@ 指令 属性名:”值” %>
例如
<%@ page contentType="text/html;charset=gb2312"%>
如果一个指令有多个属性,可以写在一个指令中,也可以分开写.1 <%@ page contentType="text/html;charset=gb2312"%>2 <%@ page import="java.util.Date"%>
1 <%@ page contentType="text/html;charset=gb2312" import="java.util.Date"%>
page属性用于定义JSP页面的各种属性,无论page指令出现在JSP页面的任何地方它的作用范围都是整个JSP页面,为了可读性,一般都写在开头的位置.
例如
page指令语法
<%@ page
[ language="java" ]
[ extends="package.class" ]
[ import="{package.class | package.*}, ..." ]
[ session="true | false" ]
[ buffer="none | 8kb | sizekb" ]
[ autoFlush="true | false" ]
[ isThreadSafe="true | false" ]
[ info="text" ]
[ errorPage="relative_url" ]
[ isErrorPage="true | false" ]
[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ]
[ pageEncoding="characterSet | ISO-8859-1" ]
[ isELIgnored="true | false" ]
%>
page指令import属性
在JSP页面中,JSP引擎会自动导入下面的包;
- java.lang.*
- javax.servlet.*
- javax.servlet.jsp.*
- javax.servlet.http.*
早睡早起,健康编程.快乐编程.
评论