Tomcat数据源

连接池放了多个连接对象,通过连接池来管理多个对象,当用户对数据库进行操作的时候,在连接池拿一个空闲的连接给用户,进行数据的相应操作来访问数据库。

连接池由DataSource来管理
1、数据源用来连接数据库,获得连接(Connection)对象。
2、连接池用来管理连接(Connection)对象。
3、在程序中使用JNDI获取数据源。

<Resource name="jdbc/news" auth="Container" type="javax.sql.DataSource"
      maxActive="100" maxIdle="30" maxWait="10000" username="root"
      password="root" driverClassName="com.mysql.jdbc.Driver"
      url="jdbc:mysql://127.0.0.1:3306/newsmanagersystem?
              useUnicode=true&amp;characterEncoding=utf-8" />

放到Tomcat的conf/context.xml < Context > 内
name相当于给数据源起个逻辑名称可以随便取
auth相当于认证
type为数据源类型
maxActive指的是连接池里最大的数据库连接
maxIdle最大的空闲连接数
maxWait最大的等待时间
username数据库连接用户名
password数据库连接密码
driverClassName数据库驱动名字
url连的是mysql 3306端口的哪个数据库
且启动服务器才读取,由Tomcat容器管理

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
//通过数据源获取数据库连接
    public boolean getConnection2(){
        try {
            //初始化上下文
            Context cxt=new InitialContext();
            //获取与逻辑名称相关联的数据源对象
            DataSource ds=(DataSource)cxt.lookup("java:comp/env/jdbc/news");
            //通过数据源获取数据库连接
            connection=ds.getConnection();
        } catch (NamingException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return true;
    }

第三方组件
commons-fileupload
commons-io
把这两个jar包导入项目
form表单提交方式要为post
加上enctype=”multipart/form-data”
input标签type要为file

//设置编码格式
    request.setCharacterEncoding("UTF-8");
    //上传的地址
    String uploadPath = request.getSession().getServletContext()
            .getRealPath("upload");
    //解析请求之前先判断请求类型是否为文件上传类型
    boolean flag = ServletFileUpload.isMultipartContent(request);
    if (flag) {
        FileItemFactory fileItemFactory = new DiskFileItemFactory();
        ServletFileUpload fileUpload = new ServletFileUpload(fileItemFactory);
        List<FileItem> list = fileUpload.parseRequest(request);
        //转化为迭代器
        Iterator<FileItem> iterator = list.iterator();
        while (iterator.hasNext()) {
            // 上传的数据
            FileItem fileItem = iterator.next();
            //是否是文件类型
            if (fileItem.isFormField()) {

            } else {
                File saveFile = new File(fileItem.getName());
                File uploadFile = new File(uploadPath,saveFile.getName());
                fileItem.write(uploadFile);

            }
        }
    } else {
        out.print("上传不合法");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值