今日内容
一、Maven
二、Tomcat
一、Maven
1.1 引言
项目管理问题
项目中jar包资源越来越多,jar包的管理越来越沉重。
繁琐
要为每个项目手动导入所需的jar,需要搜集全部jar
复杂
项目中的jar如果需要版本升级,就需要再重新搜集jar
冗余
相同的jar在不同的项目中保存了多份
项目格式
没有统一
1.2 介绍
Maven这个单词来自于意第绪语(犹太语),意为知识的积累.
Maven是一个基于项目对象模型(POM)的概念的纯java开发的开源的项目管理工具。主要用来
管理java项目
,进行依赖管理
(jar包依赖管理)和项目构建(项目编译、打包、测试、部署)。此外还能分模块开发,提高开发效率。
1.3 下载安装
网址 Maven – Download Apache Maven
下载地址 Index of /dist/maven/maven-3 (apache.org)
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)
<!-- 将53行注释内代码,复制出来,粘贴到55行,修改路径为自己本地仓库位置 -->
<localRepository>D:\repository</localRepository>
ps: 记得保存,ctrl+s
1.5.2 设置镜像
依赖会先从本地仓库找,本地没有会从中央仓库下载到本地仓库,中央仓库访问很慢,所以需要设置国内镜像,访问就很快!
<!--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>
二、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
|---------resources
|---pom.xml
2.4 pom
pom 项目对象模型,这是一个xml文件(ps: xml文件一种文件格式,类似HTML是标签形式的)
pom文件内定义
- 项目信息
- 项目名
- 组织名
- 版本
- 打包方式
- 默认是jar , 普通java项目
- 可以指定为war, 即web项目
- 项目依赖
- 依赖就是jar包
- 是以坐标的形式展现
- 构建工具
<!-- 项目信息-->
<groupId>com.qf</groupId>
<artifactId>day45_java</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 打包方式 ,默认是jar,如果是javaweb项目,打包方式是war-->
<packaging>jar</packaging>
<!-- 依赖 -->
<dependencies>
<!-- 具体的jar包依赖坐标 -->
<!-- <dependency>-->
<!-- <groupId></groupId>-->
<!-- <artifactId></artifactId>-->
<!-- <version></version>-->
<!-- </dependency>-->
</dependencies>
<!-- 构建信息 -->
<!-- <build>-->
<!-- <plugins>-->
<!-- <plugin>...</plugin>-->
<!-- </plugins>-->
<!-- </build>-->
2.5 导入依赖
2.5.1 查找依赖
官方提供一中央仓库网站,网站中有所有jar包的依赖信息,就可以搜索依赖
Maven Repository: Search/Browse/Explore (mvnrepository.com)
2.5.2 使用依赖
将复制的依赖坐标,粘贴到pom文件
<!-- 依赖,就是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 文件夹写配置文件
- 测试
三、JavaWeb开发
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vg1A0iLC-1684753944124)(https://qiushiju-tuchuang.oss-cn-hangzhou.aliyuncs.com/image/javaweb%E5%BC%80%E5%8F%91.png)]
JavaWeb开发就是
- 前端页面发请求
- 后台服务器接收请求,将请求中数据发送到数据库
- 数据库处理CRUD
- 数据库处理完再响应给服务器
- 服务器根据结果再响应数据到浏览器
3.1 C/S架构和B/S架构
C/S和B/S是软件发展过程中出现的两种软件架构方式。
3.2 C/S架构(Client/Server 客户端/服务器)
特点:必须在客户端安装特定软件
优点:图形效果显示较好(如:3D游戏),安全性相对较高,对于图形、音视频之类的网站访问效果良好
缺点:服务器的软件和功能进行升级,客户端也必须升级、不利于维护
常见的C/S程序:QQ、微信等
C/S架构 |
---|
1.3 B/S架构(Browser/Server 浏览器/服务器)
- 特点:无需安装客户端,任何浏览器都可直接访问
- 优点:涉及到功能的升级,只需要升级服务器端
- 缺点:图形显示效果不如C/S架构,安全性相对较低
- 需要通过HTTP协议访问
B/S架构 |
---|
四、服务器
4.1 什么是Web
Web(World Wide Web) 称为万维网,简单理解就是网站,它用来表示Internet主机上供外界访问的资源。
Internet上供外界访问的资源分为两大类
静态资源:指Web页面中供人们浏览的数据始终是不变的。(HTML、CSS)
动态资源:指Web页面中供人们浏览的数据是由程序产生的,不同时间点,甚至不同设备访问Web页面看到的内容各不相同。(JSP/Servlet)
- 在Java中,动态Web资源开发技术我们统称为Java Web。
4.2 什么是Web服务器
Web服务器是运行及发布
Web应用的容器
,只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问。
4.3 常见web服务器
- 开源:OpenSource(1、开放源代码 2、免费)
- Tomcat(主流Web服务器之一,适合初学者)
- jetty(淘宝,运行效率比Tomcat高)
- resin(新浪,所有开源服务器软件中,运行效率最高的)
- 三者的用法从代码角度完全相同,只有在开启、关闭服务器软件时对应的命令稍有区别。掌握一个即掌握所有
- 收费
- WebLogic(Oracle)
- WebSphere(IBM)
- 提供相应的服务与支持,软件大,耗资源
五、Tomcat
Tomcat 是Apache 软件基金会(Apache Software Foundation)下的一个核心项目,免费开源、并支持Servlet 和JSP 规范。属于
轻量级
应用服务器,在中小型系统
和并发访问用户不是很多
的场合下被普遍使用,是开发和调试JSP 程序的首选。
5.1 下载
官网 Apache Tomcat® - Welcome!
5.2 安装
解压即可使用,特别注意,解压路径中不要有中文路径!
bin 放tomcat运行命令
conf 配置文件
lib 运行所需库,jar包等
logs 运行日志
temp 临时文件
webapps 【重要】存放web项目的路径
work 运行时产生文件此处
5.3 启动服务器
进入安装路径的bin目录下,执行(双击)startup.bat命令
5.4 访问服务器
服务器是在本地,所以访问ip是localhost,tomcat端口
默认是8080
,即完整服务器路径http://localhost:8080/index.jsp
5.5 关闭服务器
只需要关闭服务器黑窗口
5.6 特别说明
现在进行的操作,只是证明tomcat装好可以使用,
等后续需要idea配置tomcat进行启动,访问,停止
六、IDEA - Tomcat
IDEA关联Tomcat是要为
每个web项目
关联服务器
6.1 maven创建javaweb项目
6.1.1 使用模板创建【推荐】
模板创建并不完整
手动补全目录
补上src/test目录
补上src/main/java目录
补上src/main/resources目录
图略
完整结构如下
6.1.2 不使用模板
这种方式是纯手动改造java项目为javaweb项目
手动创建webapp目录,并在在webapp目录下创建WEB-INF目录,并在其下创建web.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路径
创建工件
打开project structure,选择Artifact
6.2 web项目设置Tomcat(部署项目)
web.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>