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基础;熟悉Java核心API;
精通J2EE开发;熟练掌握EJB;
精通Java Web开发;熟练掌握Servlet/JSP;
精通Java XML开发;
框架:
精通Spring、Struts、Hibernate、JSF等框架;
精通axis1.0-axis2.0、XFire、CXF等框架;
规范:
精通Web Service;
精通Web2.0 ;
工具:
......
日期和时间的处理不仅在面试题中会考到,在实际项目开发中也是我们经常需要处理的问题,似乎没有哪个项目可以避开它们,我们常常在处理用户的出生年月日、注册日期,订单的创建时间等属性时用到,由此可见其重要性。
java.util.Date类
提
到日期和时间,我想大家最先想到应该是java.util.Date类吧。Date类可以精确到 ......
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 ......