java bean目录_树形目录的递归实现数据库+jsp+javabean
树形目录的递归实现(一)数据库+jsp+javabean
class cn {//连接数据库,这里以MS-SQL为例
String jdbcDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";//jdbc驱动
String connectionString="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";//数据库连接字符串
String user="sa";//数据库用户名
String pass="";//数据库密码
Connection conn=null;
ResultSet rs=null;
public cn() {
try {
Class.forName(jdbcDriver);
} catch(ClassNotFoundException e) {
System.err.println(e.toString());
}
}
public ResultSet executeQuery(String sql) {
rs=null;
try {
conn=DriverManager.getConnection(connectionString,user,pass);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
}
catch(SQLException e) {
System.err.println(e.toString());
}
return rs;
}
public void executeUpdate(String sql) {
try {
conn=DriverManager.getConnection(connectionString,user,pass);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(sql);
}
catch(SQLException e) {
System.err.println(e.toString());
}
}
}
class tree {
cn conn=new cn();
public void init(javax.servlet.jsp.JspWriter out,javax.servlet.http.HttpServletRequest request) throws Exception {
out.println("用jsp种树");
dowith(request);
buildTree(out,0,0);//初始调用
}
private void dowith(javax.servlet.http.HttpServletRequest request) {
if(request.getParameter("parentid")==null||request.getParameter("parentid").equals(""))return;
String action=request.getParameter("action");
if(action.equals("add"))
conn.executeUpdate("insert into tree(parentid,message) values('"+request.getParameter("parentid")+"','"+request.getParameter("message")+"')");
else if(action.equals("delete"))
conn.executeUpdate("delete from tree where id="+request.getParameter("parentid")+" or parentid="+request.getParameter("parentid"));
}
public void buildTree(javax.servlet.jsp.JspWriter out,int parentid,int level) throws Exception {
level++;
ResultSet rs=conn.executeQuery("select * from tree where parentid="+parentid+" order by id");
while(rs.next()) {
out.println("");
for(int i=0;iout.print("
");
if(has_child(rs.getInt("id"))) {
out.print("
");
out.print(""+rs.getString("message")+" id="+rs.getInt("id")+"");
out.println("");
buildTree(out,rs.getInt("id"),level);//递归调用
out.println("<>");
} else
out.print("
"+rs.getString("message")+" id="+rs.getInt("id")+"");
out.println("<>");
}
rs.close();
rs=null;
}
private boolean has_child(int parentid) throws Exception {
ResultSet rs=conn.executeQuery("select * from tree where parentid="+parentid+" order by id");
return rs.next();
}
public String getOption() throws Exception {
String option="";
ResultSet rs=conn.executeQuery("select * from tree order by id");
while(rs.next())
option+=""+rs.getInt("id")+" ";
return option;
}
}
%>tree myTree=new tree();
myTree.init(out,request);
%>
if(myTree.getOption().equals("")) {
%>
parentid:0-表示根节点
message:
parentid:
message:
java bean目录_树形目录的递归实现数据库+jsp+javabean相关推荐
- Linux目录结构——树形目录结构
Linux目录结构--树形目录结构 根目录:所有目录分区.目录.文件等位置起点 整个树形目录结构中,使用独立的一个"/" 常见的子目录: /root /bin /boo ...
- java bean状态_无状态和有状态企业Java Bean
我将通过Java EE 6教程,我试图了解无状态和有状态会话bean之间的区别.如果无状态会话bean不在方法调用之间保留它们的状态,为什么我的程序执行它的方式? package mybeans; i ...
- cmake linux模板 多目录_多目录工程的CmakeLists.txt编写(自动添加多目录下的文件)...
实现类似于vs中工程的CMakeLists.txt的编写.功能为main.cpp调用hello.cpp 的hello()函数,world.cpp的world()函数.使用自动添加多目录下的文件. 1. ...
- java bean状态_无状态和有状态的企业Java Bean
我正在阅读Java EE 6教程,试图理解无状态会话bean和有状态会话bean之间的区别.如果无状态会话bean在方法调用之间没有保持其状态,为什么我的程序按原样运行? package mybean ...
- java bean 单例模式_单例模式 - Beans_bag - 博客园
1.单例模式的简介 定义 保证每个类仅有一个实例,并给外部提供一个访问它的全局访问点. 思路 如果一个类能够被创建多个实例,那么,这个类的构造方法肯定是公开的,外部通过此类的构造方法可以创建多个类的实 ...
- java bean工厂_从零构建轻量级Java Web框架
Bean工厂 回顾下前面的知识,通过加载配置文件获取应用基础包名,加载基础包名下所有的类,获取Controller,Service类.到目前为止,我们只是加载了类,但是无法通过获取的类来实例化对象.因 ...
- java bean工厂_工厂bean和bean工厂
FactoryBean(工厂bean):是bean的加工工厂,是对已知Bean的加工,是一个接口,要实现三个方法: ① Object getObject()可以对bean进行加工添加功能. ② Cla ...
- java树结构遍历_树形结构,java_树遍历统计总数,树形结构,java - phpStudy
树遍历统计总数 { platformId: 3, areaId: "", areaName: "ROOT", parentAreaId: "" ...
- java bean的反射类_JAVA中反射机制五(JavaBean的内省与BeanUtils库)
内省(Introspector) 是Java 语言对JavaBean类属性.事件的一种缺省处理方法. JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法 ...
最新文章
- C# Azure 存储-分布式缓存Redis的新建配置查看
- 区块链系统之《基于区块链的PKI数字证书系统》
- Day09: socket网络编程-OSI七层协议,tcp/udp套接字,tcp粘包问题,socketserver
- 关于AI Architecture未来的一些思考
- SOAP的Could not connect to host in...报错解决方案
- 春晚亲民,快手上行:探秘春晚红包的另一种打开方式
- java 锁表后事务提交_关于synchronized锁在Spring事务中进行数据更新同步,仍出现线程安全问题...
- 整合Spring Cloud微服务分布式云架构技术点
- Nero Multimedia Suite 10.6.11300
- html中字体 楷体_(收藏)css怎么设置字体为楷体?
- 查看本机mysql安装信息
- 计算机基础知识好学吗,计算机编程好学吗 需要什么基础知识?
- 企业级网络架构—云平台高可用网络的修炼之道
- python01 初识 bmi测量
- 着被拍红的手,咯咯一
- matlab sym转str,sym struct 转换
- 重庆赛区ACM热身赛 8526. 小埋的烦恼
- android 阿拉伯数字转汉字,Android中阿拉伯文字的阿拉伯数字
- 软件工程导论学习小结
- java随机生成标点符号_java去除空格、标点符号的方法实例