Servlet是一种服务器端的Java应用程序,Servlet是客户请求与服务器响应的中间件
Servlet由Web服务器进行加载
HTTPServlet应用编程接口如下 init() 、service()、 doGet() 、doPost() 、destroy()
JSP是HttpServlet的扩展。
JSP在首次被访问的时候被应用服务器转换为Servlet,
在以后的运行中,容器直接调用这个Servlet,而不再访问JSP页面。JSP的实质仍然是Servlet。
JSP原始代码中包含JSP元素和Template(模板) data两类
Template data:指的是JSP引擎不处理的部分,即标记<%……%>以外的部分,例如代码中的HTML的内容等,这些数据会直接传送到客户端的浏览器
JSP元素:则是指将由JSP引擎直接处理的部分,这一部分必须符合JSP语法,否则会导致编译错误 JSP语法分为三种不同的类型
1,编译器指令(DIRECTIVE)有三个指令:page,include和taglib。
例如:<%@ page import=“java.io.*” %>
<%@ page language="java" contentType="text/html;charset=gb2312" pageEncoding="gb2312"%>让jsp页面支持中文显示
<@taglib uri="URIToTagLibrary" prefix="tagPrefix" %>
用于引入定制标签库
属性 1.uri:一个相对或绝对的路径,或者可以是标签库描述文件
2.prefix=“tagPrefix”:表示标签在JSP中的名称,以及在自定义标签之前的前缀,比如,在<public:loop>中的public,如果这里不写public,那么这就是不合法的。
举例:
<%@ taglib prefix="c " uri="http://java.sun.com/jstl/core_rt"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt"%>2,脚本语法(SCRIPTING)
3,动作语法(ACTION)
例如: <jsp:forward>,<jsp:getProperty>,<jsp:include>插入:html知识
html单标签<br>换行,<hr>水平线
字符引用(指html文档中一些特殊字符的显示)是以‘&’开始,‘;’结束
<为小于号< >大于号 &为& "为" ®为已注册符号,即圆圈里一个R ©为版权符号,即圆圈里一个C
™为商标符号,即TM
脚本语法包括
“HTML注释”:<!— comments -->这种注释发送到客户端,但不直接显示,在源代码中可以查看到。
举例:
1.<!-- This file displays the user login screen -->
2.<!--This page was loaded on <%= (new java.util.Date()).toLocaleString() %> -->
第二种情况,在客户端的源文件中为
<!—This page was loaded on 2009-9-1 18:21:15 -->
“隐藏注释”:<%-- comments --%>不发送到客户端,即客户端源代码中不显示。
“声明”JSP 语法格式如下:
<%! declaration; [ declaration; ] ... %> 或<%! 声明; [声明; ] ... %>
例如:
<%! int i = 0; %><%! int a, b, c; %><%! Date date; %>
“表达式”
用于在页面上输出信息,语法格式如下:<%= expression %> 或<%= 表达式 %>
例如:<%! Date date=new Date(); %>
<%=date.toString()%>
“脚本段”
JSP语法格式如下:
<% code fragment %> 或<% 一段Java代码 %>编译器指令包括“包含指令”, “页指令”和“taglib指令”
它们包含在“<%@ %>”卷标里。
两个主要的指令是page与include。include指令:向当前页中插入一个静态文件的内容。
JSP 语法格式如下:
<%@ include file=“relativeURL”%> 或<%@ include file=“绝对路径" %>
“Page”指令
用于定义JSP文件中的全局属性,“<%@ page %>”指令作用于整个JSP页面,同样包括静态的包含文件。
JSP语法格式如下:
<%@ page
[ language="java" ]
[ extends="package.class" ]
[import="{package.class | package.*},..." ]
[ session="true | false" ]
[ buffer="none | 8kb | sizekb" ] %>
属性:1.language=“java“:声明脚本语言的种类,目前只能用"java" 。
2. import=“{package.class | package.* },...” :
需要导入的Java包的列表,这些包作用于程序段,表达式,以及声明。3.
errorPage=“relativeURL”:设置处理异常事件的JSP文件。
4.isErrorPage=“true | false”:设置此页是否为出错页,如果被设置为true,你就能使用exception对象 5,isThreadSafe,
有效值true或false,默认为true,true表示容器允许多个客户端并发访问jsp。6,pageEncoding当前页面的字符集。JSP风格的默认字符集为ISO-8859-1,XML风格的默认字符集为UTF-8.
page指令使用格式示例:
<%@ page [language = "java"]
[contentType ="mimeType;charset = CHARSET"]
[import = "package.class"]
[session =
[errorPage = "relativeUrl"]
[isErrorPage="true/false"]
...
%>
<%@ page contentType = "text/html;charset = "gb2312" %>可以支持中文显示
默认的编码为“ISO-8859-1”
errorPage指向出错后要显示的页面的url,但出错页面必须如下:
<%@ page contentType = "text/html;charset = "gb2312" isErrorPage = "
true"%>这样才能用jsp的内置对象exception
include指令的格式:
<%@ include file ="文件的相对地址或绝对地址" %>
taglib指令格式:
<%@ taglib uri ="tagURI" prefix = "tagPrefix" %>
uri属性指定了jsp要在web.xml文件中查找的标签库描述符,该描述符是一个标签描述文件.tld的映射。指定了每个标签的名字,并为每个标签指定一个标签处理类
前缀命名tagPrefix不能为jsp,jspx,java,javax,sun,servlet,sunwjsp脚本标识包括:申明标识,jsp表达式,脚本程序
输出jsp表达式值 <%="变量或java表达式或可返回值的方法" %>
申明标识:<%! "申明变量或方法的代码" %><%@ page contentType="text/html;charset=gb2312" %>
<%!
int num=0;
synchronized void add(){
num++;
}
%>
<% add(); %>
<html>
<body>
<center>您是第<%=num%>位访问该页的游客!</center>
</body>
</html>
脚本程序即在<% 与%>之间的java代码
分享到:
相关推荐
学习Java过程记录笔记
Java-自学课件---Java简介.ppt
java 自学手册 java-api-1.6 中文版
java 自学手册 java-api-1.6 中文版
java 自学手册 java-api-1.6 中文版
javase基础自学笔记-java开端-概述
Java语言-自学手册完全版
自学java的一些api和例子,欢迎大家下载观看和指正其中的不足。 主要是一些常用的,你们也可以在网上搜索学习
NULL 博文链接:https://hnzhoujunmei.iteye.com/blog/762886
// 给按钮设置提示信息 b1.setToolTipText("坑爹英雄"); // 把工具栏放在north的位置 f.setLayout(new BorderLayout()); f.add(tb, BorderLayout.NORTH); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);...
java自学手册 --有了它,Java超级好学的。参考书 想学习Java的同志可看看
Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。 使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的...
Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。 使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的...
单片机自学----上拉电阻和下拉电阻
Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。 使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的...
java 自学手册 java-api-1.6 中文版
初入职场,做一个简单的技术分享,时间一个小时。此ppt融合关于java异常机制的常识和部门使用时需要注意的细节。
如何自学-Python(干货合集) 如何自学-Python(干货合集)全文共18页,当前为第1页。如何自学-Python(干货合集)全文共18页,当前为第1页。如何自学Python(干货合集) 如何自学-Python(干货合集)全文共18页,当前为第1...
Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。 使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的...
Flex完全自学--入门ppt课件Flex完全自学--入门ppt课件