1、Servlet的缺点
(1)开发人员要十分熟悉JAVA
(2)不便于页面调试和维护
(3)修改、重新编译
(4)很难利用网页设计工具进行页面设计
(5)HTML内容导入到servlet中
(6)用PrintWriter的对象进行输出
2、JSP简介
(1)JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的
不同的是先由服务器编译部署成Servlet执行
(2)JSP技术的企业最佳实践
生成html内容
(3)新的JSP2.0规范版本包括新的功能
EL表达式
新增的Simple Tag和Tag File
web.xml新增<jsp:config>元素
3、JSP运行原理
4、JSP程序的翻译过程
5、JSP 脚本元素
6、Declaration(声明)
(1)声明的格式: <%! 声明1;[声明2];……%>
(2)声明的作用范围是整个JSP页面,同时它只在一个JSP页面有效
(3)声明的类型包括:变量,方法,类
注意:
每一个声明仅在一个页面中有效,如果每个页面都用到一些声明,最好把它们写成一个单
独的JSP 网页,然后用<%@ include %>或<jsp:include >元素包含进来。
使用<%! %>方式所声明的变量为成员变量,即表示:若同时n 个用户在执行此JSP网页时,
将会共享此变量。强烈建议不要使用<%! %>来声明变量。
若要声明变量时,请直接在<% %>之中声明使用即可。
统计用户访问量程序代码
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%!
int count = 0 ;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>你是第<%=++count%>个访问本网站的用户!</h1>
</body>
</html>
7、Expression(表达式)
(1)语法格式
<%= 变量或表达式 %>
(2)表达式的计算结果转换成字符串
使用隐含对象out进行输出
(3)范例
<%=“abc” %> 等价于 out.print(“abc”);
(4)JSP脚本表达式中的变量或表达式后面不能有分号(;)
8、Scriptlets(代码块)
(1)语法格式
<% java code %>
(2)在“<%”和”%>”之间插入java程序片段,一个JSP页面可以有许多程序片,这些代码块将被JSP服务器按照顺序执行
(3)在一个代码块中声明的变量是JSP页面的局部变量,只在当前页面有效
Scriptlet示例
<%
String s="abc";
out.println(s);
%>
<%
for(int i=0;i<10;i++) {
%>
<h1>第<%=i+1%> 行</h1>
<%
}
%>
9、EL快速入门
(1)EL 全名为Expression Language
(2)语法:${标识符}
(3)常用功能
获取各种域中存储的数据
<%=request.getAttribute(“name”);>
${requestScope.name}