1、Lecture05 常用功能,文件上传/下载 树形菜单,文件上传,设置image/bmp,image/png,image/gif,image/jpg 404800 ,文件上传,上传单个文件 System.out.println(“abcLogic Method!“); InputStream is=new FileInputStream(file); String deskpath=ServletActionContext.getRequest().getRealPath(“upload“); OutputStream os=new FileOutputStream(new File(desk
2、path,fileFileName); byte buffer=new byte400; int length=0; while(length=is.read(buffer)0) os.write(buffer,0,length); os.close(); 上传多个文件 动态上传多个文件 配置409600 application/vnd.ms-powerpoint ,树状菜单,树状菜单常用来提供内容导航功能。 它的实现分为静态和动态两个部分。 静态菜单是内容固定不变或基本不变,可以采用JavaScript实现,这种方法的特点是速度快,编程难度小,有许多开发好的程序。 动态树状菜单是树状菜单的内
3、容经常变化,需要动态生成。,采用菜单组件创建静态树状菜单,项目构思: 静态树状菜单可以采用JavaScript开发,网上有许多优秀的代码程序,这里介绍一个比较简单实用的免费树状菜单dtree组件。 dtree组件的主要优点是:可以设置无限级的菜单、可以设置多种状态(如:图标的显示和隐藏等)、支持目前主流的浏览器、节点图片可以设置切换图片的效果等。下载地址是:http:/ dtree组件下载的文件包括dtree.js、dtree.css和图片文件夹img。,采用菜单组件创建静态树状菜单,项目设计:在一个JSP页面中通过dtree组件创建一个树状菜单。 项目实施: 将下载的dtree组件dtree
4、.js、dtree.css、img中的图片文件分别放到相应的WEB目录下的js、css、img文件夹中。 在JSP页面中实现代码。,单元项目8-采用菜单组件创建静态树状菜单,项目实施: 在JSP页面中实现的主要代码如下:d = new dTree(d);d.add(0,-1,我的树状菜单);d.add(1,0,节点1,tree.jsp);d.add(2,0,节点2,tree.jsp);d.add(3,1,节点1.1,tree.jsp);d.add(4,0,节点3,tree.jsp);d.add(5,3,节点1.1.1,tree.jsp);d.add(6,5,节点1.1.1.1,tree.jsp
5、);d.add(7,0,节点4,tree.jsp);d.add(8,1,节点1.2,tree.jsp);d.add(9,0,我的相册,tree.jsp,这是我的相册,img/imgfolder.gif);d.add(10,9,我的生日,tree.jsp,我的生日照片);d.add(11,9,北京旅游,tree.jsp);d.add(12,0,回收站,tree.jsp,img/trash.gif);document.write(d);,采用菜单组件创建动态树状菜单,项目构思: 动态树状菜单的内容是通过程序生成,需要在JSP或Servlet中生成JavaScript代码,在上面程序的基础上采用动态
6、方法生成树状菜单。 项目设计: 根据dtree组件生成节点的参数,需要在数据库中创建一个树状结构表,作为树状菜单节点的参数。 创建一个JavaBean,在JavaBean的方法中读取表中的数据,生成相应的JavaScript代码创建出树状菜单。 在JSP页面中利用JSP动态标签调用JavaBean,在页面显示生成的树状菜单。,采用菜单组件创建动态树状菜单,项目实施: 创建树状结构表DTREE。其字段为生成树状节点中的8个参数。CREATE TABLE dtree ( Id int(11) NOT NULL default 0, pid int(11) NOT NULL default -1,
7、name varchar(50) NOT NULL, url varchar(50) default “, title varchar(50) default “, target varchar(50) default _self, icon varchar(50) default NULL, iconOpen varchar(50) default NULL,PRIMARY KEY (Id),采用菜单组件创建动态树状菜单,项目实施: 在创建的表中插入相应的数据,这些将作为生成树状菜单节点的参数,在程序中通过读取表中的数据生成树状菜单的节点。 创建一个JavaBean, 通过JavaBean读
8、取数据库中的数据,根据表中的数据生成相应树状菜单的JavaScript代码,返回到页面。,采用菜单组件创建动态树状菜单,项目实施: JavaBean中getTreeNodes()的主要代码:StringBuffer buf = new StringBuffer(); /保存生成的JavaScript代码buf.append(“); /生成JavaScript标记buf.append(“d = new dTree(d);“); /创建一个dtreeConnection conn = getConnection(); /建立连接对象try Statement stmt = conn.createS
9、tatement();String sql = “select * from dtree“;ResultSet rs = stmt.executeQuery(sql);while (rs.next() /根据结果集的内容创建一个节点buf.append(“d.add(“);buf.append(rs.getInt(“Id“) + “,“);buf.append(rs.getInt(“pId“) + “,“);buf.append(rs.getString(“name“) + “,“);buf.append(rs.getString(“url“)+ “,“);buf.append(rs.getS
10、tring(“title“)+ “,“);buf.append(rs.getString(“target“)+ “,“);buf.append(“img/“+rs.getString(“icon“)+ “,“);buf.append(“img/“+rs.getString(“iconOpen“);buf.append(“);“); catch (SQLException e) e.printStackTrace(); buf.append(“document.write(d);“);buf.append(“);省略部分代码,采用菜单组件创建动态树状菜单,项目实施: 在JSP页面中调用JavaBean生成树状菜单。dtree sample全部展开 | 全部折叠,小结,本章主要介绍了Java Web开发中常用的技术。 文件的上传 分页技术 使用JavaMail API收发邮件 树状菜单的使用 通过案例代码详细介绍了这些技术中主要的功能。,