文章目录
- 今日内容
- [0 复习昨日](#0 复习昨日)
- [1 Maven](#1 Maven)
-
- [1.0 引言](#1.0 引言)
- [1.1 介绍](#1.1 介绍)
- [1.2 下载](#1.2 下载)
- [1.3 安装](#1.3 安装)
-
- [1.3.1 解压](#1.3.1 解压)
- [1.3.2 配置环境变量](#1.3.2 配置环境变量)
- [1.3.3 测试](#1.3.3 测试)
- [1.4 仓库](#1.4 仓库)
- [1.5 Maven配置](#1.5 Maven配置)
-
- [1.5.1 修改仓库位置](#1.5.1 修改仓库位置)
- [1.5.2 设置镜像](#1.5.2 设置镜像)
- [2 IDEA - MAVEN](#2 IDEA - MAVEN)
-
- [2.1 idea关联maven](#2.1 idea关联maven)
- [2.2 创建java项目](#2.2 创建java项目)
- [2.3 java项目结构](#2.3 java项目结构)
- [2.4 pom](#2.4 pom)
- [2.5 导入依赖](#2.5 导入依赖)
-
- [2.5.1 查找依赖](#2.5.1 查找依赖)
- [2.5.2 使用依赖](#2.5.2 使用依赖)
- [2.6 测试](#2.6 测试)
- [3 JavaWeb](#3 JavaWeb)
- [4 服务器](#4 服务器)
- [5 Tomcat](#5 Tomcat)
-
- [5.1 下载](#5.1 下载)
- [5.2 安装](#5.2 安装)
- [5.3 启动服务器](#5.3 启动服务器)
- [5.4 访问服务器](#5.4 访问服务器)
- [5.5 关闭服务器](#5.5 关闭服务器)
- [5.6 特别说明](#5.6 特别说明)
- [6 IDEA - Tomcat](#6 IDEA - Tomcat)
- [7 总结](#7 总结)
今日内容
0 复习昨日
1 maven
2 tomcat
3 创建项目
0 复习昨日
1 单词写5遍
argument 参数 parameter 参数 access 访问 field 字段 invoke 调用 illegal 非法
invalid 无效 column 列 property 属性 DataSource 数据源
2 数据库连接池有啥好处
3 获得字节码文件的方式
Class.forName("")
Xxx.class
对象.getClass()
4 封装
隐藏实现的细节,对外提供访问的方法
方法的封装
类的封装
工具类的封装
继承
多态
方法的参数列表是父类
抽象
接口
1 Maven
1.0 引言
之前写项目时,会有不同的问题
- jar包 管理(项目中有很多jar包)
- 需要自己找jar包,下载
- 手动导入项目中
- jar包版本更新...
- 占磁盘空间
- 重复量大
- 项目结构不规范
- java代码和配置文件位置不规范
- ...
1.1 介绍
项目管理工具,统一项目结构,配置文件,依赖,部署,测试等等
Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。
1.2 下载
1.3 安装
1.3.1 解压
特别注意: 尽量不要有中文路径
解压后有几个文件夹
- bin 运行maven命令的脚本
- boot 运行是需要类库
- conf 配置,有关于maven的配置文件
- lib 运行是需要的jar包
1.3.2 配置环境变量
系统变量创建: MAVEN_HOME 值是maven安装路径
系统变量path添加 %MAVEN_HOME%\bin
1.3.3 测试
打开cmd,输入mvn -v

1.4 仓库
maven项目管理工具,管理依赖(jar包),实现依赖的复用.
maven有仓库,将依赖放入仓库,每个项目都去复用
- 本地仓库
- 自己电脑上
- 需要依赖的时候,会先从本地仓库中,如果找不到就会去中央仓库找,下载到本地仓库
- 中央仓库
- 位于国外服务器,包含绝大部分依赖
- 可能有时候访问比较慢
- 公共仓库
- 私服(个人)
- 阿里云,网易,等等
1.5 Maven配置
1.5.1 修改仓库位置
maven安装好后,默认本地仓库在c盘,要修改为其他地方
修改maven的配置文件(conf\settings.xml)
xml
<!-- 将53行注释内代码,复制出来,粘贴到55行,修改路径为自己本地仓库位置 -->
<localRepository>D:\repository</localRepository>
ps: 记得保存,ctrl+s
1.5.2 设置镜像
依赖会先从本地仓库找,本地没有会从中央仓库下载到本地仓库,中央仓库访问很慢,所以需要设置国内镜像,访问就很快!
xml
<!--setting.xml中添加如下配置 146行附近
一定是在开闭标签 <mirrors> </mirrors>中间设置
-->
<mirror>
<id>aliyun</id>
<!-- 中心仓库的 mirror(镜像) -->
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<!-- aliyun仓库地址 以后所有要指向中心仓库的请求,都会指向aliyun仓库-->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
2 IDEA - MAVEN
2.1 idea关联maven
打开任何一个idea项目
file - setting fornew project

找到build


2.2 创建java项目
-
找到maven选项
-
设置信息

2.3 java项目结构

|-项目名
|---src
|------main
|---------java
|---------resources
|------test
|----------java
|---pom.xml
2.4 pom
pom 项目对象模型,这是一个xml文件(ps: xml文件一种文件格式,类似HTML是标签形式的)
pom文件内定义
- 项目信息
- 项目名
- 组织名
- 版本
- 打包方式
- 默认是jar , 普通java项目
- 可以指定为war, 即web项目
- 项目依赖
- 依赖就是jar包
- 是以坐标的形式展现
- 构建工具
xml
<!-- 项目信息-->
<groupId>com.qf</groupId>
<artifactId>day45_java</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 打包方式 ,默认是jar,如果是javaweb项目,打包方式是war-->
<packaging>jar</packaging>
xml
<!-- 依赖 -->
<dependencies>
<!-- 具体的jar包依赖坐标 -->
<!-- <dependency>-->
<!-- <groupId></groupId>-->
<!-- <artifactId></artifactId>-->
<!-- <version></version>-->
<!-- </dependency>-->
</dependencies>
xml
<!-- 构建信息 -->
<!-- <build>-->
<!-- <plugins>-->
<!-- <plugin>...</plugin>-->
<!-- </plugins>-->
<!-- </build>-->
2.5 导入依赖
2.5.1 查找依赖
官方提供一中央仓库网站,网站中有所有jar包的依赖信息,就可以搜索依赖

2.5.2 使用依赖
将复制的依赖坐标,粘贴到pom文件
xml
<!-- 依赖,就是jar包 -->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>


还可以进入仓库中去查看,是否下载成功

2.6 测试
使用之前jdbc测试
- 使用maven创建java项目
- 导入依赖
- mysql驱动
- druid.jar包
- 编码
- java文件夹写java代码
- resources 文件夹写配置文件
- 测试
3 JavaWeb
JavaWeb开发就是
- 前端页面发请求
- 后台服务器接收请求,将请求中数据发送到数据库
- 数据库处理CRUD
- 数据库处理完再响应给服务器
- 服务器根据结果再响应数据到浏览器
项目开发的架构
- C/S (Client / Server)
- 必须要开发客户端软件(QQ,微信,钉钉,LOL...)
- 优点: 性能好(画质,交互,流程度),安全度高
- 一般用于游戏/音视频软件
- 缺点: 软件更新维护升级很麻烦
- B/S (Browser / Server)
- 只需要一个浏览器
- 一般用于功能不复杂,比如微博/淘宝/京东
- 优点: 更新维护只需重启服务器
- 缺点: 图形显示,流畅度,安全性相对比较低
- 目前我们学习Java是为了开发B/S架构的项目

4 服务器
服务器也称为web服务器,是运行及发布
web应用
的容器.只有将开发的项目放到服务器中,才可以通过http请求访问到数据.
常见的web服务器
- Tomcat 主流,免费,并发量500左右
- Jetty 效率会比Tomcat高,淘宝用的就这个
- Resin 新浪在用
- WebLogic
- Apache
- ...
5 Tomcat
Tomcat 服务器是一个
免费的开放源代码
的Web 应用服务器,属于轻量级
应用服务器,在中小型系统
和并发访问用户不是很多
的场合下被普遍使用,是开发和调试JSP 程序的首选。
5.1 下载

5.2 安装
解压即可使用,特别注意,解压路径中不要有中文路径!

bin 放tomcat运行命令
conf 配置文件
lib 运行所需库,jar包等
logs 运行日志
temp 临时文件
webapps 【重要】存放web项目的路径
work 运行时产生文件此处
5.3 启动服务器
进入安装路径的bin目录下,执行(双击)startup.bat命令
5.4 访问服务器
服务器是在本地,所以访问ip是localhost,tomcat端口默认是8080,即完整服务器路径

5.5 关闭服务器
只需要关闭服务器黑窗口
5.6 特别说明
现在进行的操作,只是证明tomcat装好可以使用,
等后续需要idea配置tomcat进行启动,访问,停止
6 IDEA - Tomcat
IDEA关联Tomcat是要为
每个web项目
关联服务器
6.1 maven创建javaweb项目
6.1.1 使用模板创建【推荐】
模板创建并不完整

手动补全目录
补上src/test目录


补上src/main/java目录

补上src/main/resources目录
图略
完整结构如下
6.1.2 不使用模板创建javaweb项目
像创建java项目一样,创建javaweb项目
这样创建出的是java项目,改造成javaweb项目


但是这样创建的web文件夹位置跟maven规范的不一致

这样不推荐
6.1.3 不使用模板,也不使用框架支持
这种方式是纯手动改造java项目为javaweb项目

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
手动创建webapp目录,并在在webapp目录下创建WEB-INF目录,并在其下创建web.xml文件,内容如下
xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
</web-app>
最后,在webapp目录下,创建一个index.jsp文件(jsp文件,理解为html)

在项目结构(project structure)中配置该webapp路径


6.2 web项目设置Tomcat(部署项目)




7 总结
1 要会使用maven创建
java项目
javaweb项目
2 项目的目录结构要能手写
3 会导入依赖,检查依赖
4 会创建javaweb项目,并配置Tomcat,并启动
5 写之前布置SQL题