JavaWeb入门案例-集合Servlet、tomcat、数据库连接池技术(idea版)

这篇博客介绍了JavaWeb入门的实战案例,涉及Servlet、Tomcat服务器的部署,以及数据库连接池的使用。在IDEA中创建Java应用,详细解释了项目部署的过程,包括手动部署到Tomcat的webapps目录下和IDEA配置Tomcat的自动部署。项目由 Dao、entity、service、servlet 和 utils 等组件构成,实现了用户登录的功能。
摘要由CSDN通过智能技术生成

昨天晚上睡觉前暗自告诉自己明天一定要去写这篇感人的javaweb入门笔记(一个小型的用户登录案例的入门笔记)。
enmmmm Flag不能倒!!

首先我们来了解一下在idea中创建一个JavaApplication,各文件夹代表的都是什么意思。详见如图。
在这里插入图片描述

1.项目部署

通俗理解:一个项目是需要部署到服务器上,用户才能通过url访问服务器,得到服务器返回的一系列消息。用户发送请求给tomcat服务器,tomcat服务器自动从webapps目录下找所创建的项目下访问的html
在这里插入图片描述

常见系统架构:C/S B/S
常见服务器:Tomcat、jetty(淘宝,运行效率比Tomcat高)、resin(新浪,所有开源服务器软件中,运行效率最高的),由于Tomcat免费,所以我们学生党学习就用这个足够。

  • 手动部署

    在本地装上tomcat,并在系统环境变量配置好classpath后,打开tomcat目录,将项目部署在webapps下。
    在这里插入图片描述
    webapps->创建的项目->web_INF(自己创建的类)和index.html
    在这里插入图片描述
    webapps目录总结见下图。
    在这里插入图片描述

  • idea配置tomcat实现自动部署

  1. idea集成tomcat 按照图示1234操作

在这里插入图片描述

  1. 项目与tomcat关联

在这里插入图片描述
第5步是系统自动生成的项目访问名称,自己可根据项目实际情况更改名称。但这里后缀_exploded表示开发版,表示开发者不断升级自己的程序不断添加新功能,尚未将项目集成的war包放在tomcat的webapps下,官方名词将这一过程称为热部署。用户可以通过http://localhost:8080/02Servlet_war_exploded/XX.html访问自己创建的项目。

2.项目构成

在这里插入图片描述

Dao:主要实现数据库的增删改查方法;
entity:实体类,创建getter、setter方法,toString方法;
service:控制逻辑层,实现整个逻辑,开启事务,将dao层数据库中的数据与servlet浏览器得到的数据进行比较;
servlet:主要是实现HttpServlet类中的doGet、doPost方法,接受浏览器传过来的数据;
utils:DBUtils类 主要是创建数据连接池,数据库事务操作的接口和方法定义;

  • utils包
    utils下的DBUtils.java
package com.qf.servletProject.utils;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class DBUtils {
   
    public static DataSource ds;
    private static final ThreadLocal<Connection> THREAD_LOCAL = new ThreadLocal<>();

    static{
   
        Properties pro =new Properties();
        InputStream inputStream=DBUtils.class.getResourceAsStream("/database.properties");


        try {
   
            pro.load(inputStream);
            //通过DruiDtaSourceFactory创建连接池
            ds= DruidDataSourceFactory.createDataSource(pro);
        } catch (Exception e) {
   
            e.printStackTrace();
        }
    }

    public static Connection getConnection() throws SQLException {
   
        return ds.getConnection();
    }

    //开启事务
    public  static  void begin(){
   
        Connection connection=null;
        try {
   
            connection=getConnection();
            connection.setAutoCommit(false);
        } catch (SQLException throwables) {
   
            throwables.printStackTrace();
        }finally {
   
            closeAll(connection,null,null);
        }
    }

    //提交事务
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值