JSP的由来
Servlet技术产生以后,在使用时最麻烦的是使用大量的out.print语句输出页面,这样的形式在系统变更,维护,预览效果时都不能方便快捷的完成任务,于是推出JSP这种技术,用来将Servlet中负责显示的语句抽取出来.
语法规则:<%=…%>
合法内容:变量,变量加运算符组合的表达式,有返回值的方法
转译成Servlet时的规则:在Service()方法中用out.print语句输出改变量,表达式,方法的值
<p> The square root of 5 is<%=Math.sqrt(5)%></p>
转换成
out.write("<p> The square root of 5 is");
out.print(Math.sqrt(5));
out.write("</p>");
语法规则:<%......%>
合法内容:能够写在方法里的Java代码片段都可以作为小脚本
转译成Servlet时的规则:原封不动称为Servlet类的Service()方法里的一段代码
<%
String name = request.getParameter("name");
if(name != null && !name.equals("")){
%>
<p> Your name is<%=name%></p>
<%
}
%>
转换成下面代码插入到service方法中
String name = request.getParameter("name");
if(name != null && !name.equals("")){
out.write("<p> Your name is ");
out.print(name);
out.write("</p>");
}
语法规则:<%!......%>
合法内容:成员属性后成员方法的声明
转译成Servlet时的规则:成为JSP页面转成的Servlet类中成员属性或成员方法
<%!
public String getResult(){
//....
}
%>
将代码整体插入到Servlet类中
public class Index_JSP extends JSPBase{
public String getResult(){
//...
}
public void service()...
}
语法规则:<%@指令名 属性=值%>
常用指令:page指令 include指令 taglib指令
作用:控制JSP在转译成Servlet类时生成的内容
Page指令(用于导包,设置页面属性)
<%@page import = "java.util.*" %>
设置response.setContectType()方法的参数值
<%@page contentType = image/gif%>
设置容器读取该文件时的解码
<%@page pageEncoding = "UTF-8"%>
Include指令(在JSP页面转换成Servlet时,能够将其他文件包含进来.可以包含JSP文件也可以是静态的HTML文件)
<%@ include file = "header.html" %>
JSP页面的隐含对象
JSP如何运行
JSP如何转换成Java
如何将静态页面转换成动态页面