JSP:
全称Java Server Pages。
它和servle技术一样,都是SUN公司定义的一种
用于开发动态web资源的技术。
JSP实际上就是Servlet。
JSP的组成:
JSP = HTML + Java。
HTML:静态内容
Servlet:适合编写java逻辑代码,不适合写界面显示的部分。
JSP:适合编写输出动态内容,但不适合编写java逻辑。
JSP原理:
访问JSP页面时,JSP页面会被翻译成.java 文件。
然后.java 会被编译.class 文件(字节码文件)。
JSP最佳写法:
JSP:界面、简单逻辑以及获取显示数据。
Servlet:Java处理逻辑。
JSP基础语法:
小脚本:
书写:<% java代码 %>
举例:
<%
Date date = new Date ();
out.write(date .toLocaleString());
%>
表达式:
书写:<%= %> (相当于out.print ());
举例:
<%
int num = 10 ;
out.print (num);
%>
<%= num %>
声明 :
书写: <%! %>
举例:
<%!
int num2 = 10 ;
%>
<%
int num1 = 10 ;
num1++;
num2++;
%>
<%= num1 %>
<%= num2 %>
JSP注释:
JSP注释:<%-- 被注释的内容 --%> 特点:安全
网页注释: 特点:不安全
JSP指令:
page指令:
import:
导入多个包:
<%@ page import ="java.util.Date,java.util.List"%>
或者:
<%@ page import ="java.util.Date"%>
<%@ page import ="java.util.List"%>
JSP会自动导入以下的包:
import java.lang.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
session:
默认值是true 相当于session开关
<%@ page session="true" %>
errorPage:
页面中有错误,跳转指定的资源
isErrorPage:
<%@ page errorPage="/error.jsp" %>
<%
int num = 10 /0 ;
%>
error.jsp:
<%@ page isErrorPage="true" %>
服务器正在紧张的建设当中..请稍后访问
<br >
<%
String msg = exception.getMessage();
out.print("错误信息:" + msg);
%>
include指令:
静态包含:
<%@ include file ="/1.jsp" %>
静态包含:在翻译成.java文件前就已经合成了页面
动态包含:
<jsp:include page ="/1.jsp" > </jsp:include >
动态包含:代码逐行执行,当执行到动态包含的时候 才会去编译被包含的页面
动态包含会生成两套文件
taglib:
需要导入的jar包:jstl.jar,standard.jar
taglib作用:在JSP页面中导入JSTL标签库 替换JSP中的java代码片段。
// prefix="c" 代表给jstl标签库中的标签 起个别名
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:if test="" ></c:if >
JSP动作:
<jsp:include > 动态包含
<jsp:forward > 请求转发
<jsp:param > 设置请求参数
<jsp:useBean > 创建一个对象
<jsp:setProperty > 给指定的对象属性赋值
<jsp:getProperty > 取出指定对象的属性值
举例(配合使用):
<%
// 创建一个User对象
User user = new User();
user.setName("sc" );
user.setPwd("123" );
out.print(user.getName());
%>
<br >
/*
* class:JavaBean的全限定类名
* id:Java变量名称,指明JavaBean对象的名称。
* JSP中可以使用该名称引用该JavaBean对象区分大小写
*/
<jsp:useBean id ="user1" class ="com.lanou3g.User" />
// name 对象 property 属性
<jsp:setProperty property ="name" name ="user1" value ="dp" />
<jsp:setProperty property ="pwd" name ="user1" value ="456" />
<%=user.getName() %>
<br >
<jsp:getProperty property ="name" name ="user1" />
<jsp:getProperty property ="pwd" name ="user1" />