java web标记技术
1 jsp 基础概念
jsp是在传统的html页面中,加入java的程序片段和jsp标记,就构成了jsp页面。当web服务器遇到对jsp的访问请求时,先执行对其中的java程序片段,然后以html的格式返回给用户。 java程序片段可以用来操作数据库,重定向网页,或者是发送E-mail ,验证登陆信息, 这些操作都是在服务器端完成,用户仅仅是得到运行后的结果。
可以想象,jsp其实就是Servlet的另一种形式,当jsp引擎对Jsp页面进行解析后会生成一个类似Servlet的文件,然后交由Servlet引擎编译执行。
也就是说 jsp 和Servlet在编译后在服务器中的形式是一致的。
2 标记库技术
产生的原因:
(1) java程序员和页面美工人员必须同时工作。这是个很大的缺点。
web程序员在后台设计各种标记,而页面设计人员则直接使用程序员设计好的标记进行处理页面。
(2)首先编写<hello:sayhello>的java实现,如下:
package servletPackage;
import java.io.IOException;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
public class HelloTag implements Tag {
//定义页面的上下文
private PageContext context = null ;
//实现tag接口
public void setPageContext(PageContext pageContext){
this.context = pageContext ;
}
//实现Tag接口
public void setParent(Tag tag){
}
public Tag getParent(){
return null ;
}
//实现Tag 接口,并执行表集体
public int doStartTag(){
try {
context.getOut().print("Hello from Tag") ;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return SKIP_BODY ;
}
public HelloTag() {
super();
}
public int doEndTag() throws JspException {
// TODO Auto-generated method stub
return SKIP_PAGE;
}
public void release() {
// TODO Auto-generated method stub
}
}
(3) 然后再WEB-INF文件夹下编写一个后缀为.tld的xml文件,用以声名自定义的标签。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsys
相关文档:
java中的事件机制的参与者有3种角色:
1.event object:事件状态对象,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中
2.event source:具体的事件源,比如说,你点击一个button,那么button就是event source,要想使button对某些事件进行响应,你就需要注册特定的listener。
3.event listener ......
这是一个Java版的世界时钟示例,移植自Gerrit创建的同名Swing应用(http://www.jug-muenster.de/swing-worldclock-427
),需要运行在JRE1.5或以上环境当中。
移植此示例主要是因为前一阵移植过Gerrit的swing原子钟示例,所谓好事成双,这个世界时钟的示例自然不能放过(话说Gerrit为什么那么喜欢做时钟?…&hellip ......
serialVersionUID 用来表明类的不同版本间的兼容性
简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列 ......
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
public class TestDesktop {
public static void main(String[] a) {
try {
Desktop desktop = null;
if (Desktop.isDesktopSupported()) {
desktop = Desktop.getDesktop();
}
desktop.open(new File("/hom ......