课后作业

如何使用Map进行数据的存取?
1.声明一个map: Map map = new HashMap();
2.向map中放值,注意:map是key-value的形式存放的.如:
 map.put(”sa”,”dd”);
3.从map中取值:String str = map.get(”sa”).toString();结果是:str = ”dd”;
4.遍历一个map,从中取得key 和value
 Map map = new HashMap() ;
 Iterator it = map.entrySet().iterator() ;
 while (it.hasNext())
 {
 Map.Entry entry = (Map.Entry) it.next() ;
 Object key = entry.getKey() ;
 Object value = entry.getValue() ;
 }

如何理解session在Web项目中的作用?
设定这个JSP页面是否需要HTTP Session.

常用的集合类有哪些?它们之间的区别是什么?
set(集)、list(列表)和map(映射)。     其中List和Set接口都继承自Collection接口,而Map接口和他俩不同,不是继承于Collection接口。 

什么是设计模式?
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结

如何理解MVC设计模式?
MVC设计模式的核心是把一个应用的输入,处理,输出流程按照Model,View,Controller的方式进行分离

为什么需要MVC设计模式?
不仅实现了功能模块和显示模块的分离,同时还提高了应用系统的可维护性,可扩展性,可移植性和组件的可复用性.

MVC设计模式各部分对应的组件是什么?
M:Model,即模型,对应JavaBean
V:View,即视图,对应JSP页面
C:Controller,即控制器,对应Servlet

MVC各部分间是如何协作的?
控制器调用JavaBean来处理用户请求,JavaBean处理结束后,servlet根据处理结果,调用不同的JSP页面向浏览器呈现处理结果

什么是JNDI?
JNDI(the Java naming and directory interface)是Java命名和目录接口,是一个为Java应用程序提供命名服务的应用程序编程接口(API)。

为什么使用JNDI?
在系统部署后,如果数据库的相关参数变更,只需要重新配置 mysql-ds.xml 修改其中的JDBC参数,只要保证数据源的名称不变,那么程序源代码就无需修改。

如何理解连接池?
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。

如何理解DAO类?
DAO中包含了各种数据库的操作方法,用来封装对数据库的访问

到目前为止连接数据库有几种方式?
(1)JDBC-ODBC桥加ODBC驱动程序
(2)本地API
(3)JDBC网络纯Java驱动程序
(4)本地协议纯Java驱动程序

说明从.properties文件中读取数据的步骤?
在JAVA中提供 properties类 来读取.properties属性文件
在web工程中src目录下新建一个dbconn.properties

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@10.10.20.151:1521:ora1
user=focw_officeenter
password=focweboa

下面的Env.java文件实现了dbconn.properties文件的加载工作,代码如下:

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class Env {
 private Connection conn=null;
 private static Env instance;
 private static Properties prop=new Properties();
 private Env(){
  //初始化属性prop对象
  InputStream in=this.getClass().getResourceAsStream("/conn.properties");
  try{
   prop.load(in);
  }catch(IOException ex){
   ex.printStackTrace();
  }
 
 }
 //单太构建实例
 public static Env getInstances(){
  if(instance==null){
   instance=new Env();
  }
  return instance;
 }
 public String getProp(String key){
  return (String)prop.getProperty(key);
 }
}

测试用例:

public static void main(String[] args){
  ConnDB con=new ConnDB();
  System.out.println(con.getConn());
 }
}


为什么需要自定义异常?
让操作人员读懂异常原因,出错信息友好

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值