一、Ant
1、Ant和Maven都是项目构建工具
2、在项目的运行编译打包等过程都需要依赖于Ant构建工具
二、分布式
1、传统项目部署时:
新建一个项目,通过不同的包来区分不同模块
把这一个项目发布到服务器的tomcat中
2、分布式项目(适用于高负载情况下)部署:
把一个完整的项目拆分成多个项目,把拆分后的项目分别部署到对应的服务器(tomcat)中的过程就叫做分布式项目部署。
把传统项目包换成一个单独的项目。
三、Maven配置
1、基于Ant的构建工具,额外添加其他功能
2、运行原理:
Maven项目:从本地仓库拿东西。
本地仓库:计算机中的一个文件夹,自己定义是哪个,没有的话从中央仓库获取需要的东西。
中央仓库:网址(存jar包的)https://repo1.maven.org/maven2/
由于中央仓库下载速度慢——>配置国内镜像(推荐阿里)
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
保证JDK和开发环境版本一致。
3、创建Maven项目
3.1 坐标:
每一个jar文件都有一个唯一坐标,通过坐标可以精确确定是哪一个jar。
坐标组成:Group ID+Artifact ID+Version
Group ID:公司名(公司网址倒写)
Artifact ID:项目名
Version:版本
3.2 Packaging:项目的类型,最终被打包成的类型
- jar:java项目
- war:web项目
- pom(Project Object
Model):项目对象模型(父项目)。将project当作对象看待;通过maven构建工具可以让对象(项目)和对象(项目)之间产生关系。
只要一个项目有子项目,必须为pom。
四、整合SSM
写pom.xml(依赖包的导入)
servlet
jsp
jstl
- spring配置:spring-webmvc,spring-jdbc,aspect-jweaver.
- mabatis配置:mybatis,mybatis-spring
- 日志配置:log4j
- 驱动
- jackson包:转json时用
- 文件上传下载依赖包:commons-io,commons-fileupload
写实体类
package com.justtry.pojo;
public class Flower {
private int id;
private String name;
private float price;
private String production;
public Flower(int id, String name, float price, String production) {
super();
this.id = id;
this.name = name;
this.price = price;
this.production = production;
}
public Flower() {
// TODO 自动生成的构造函数存根
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public String getProduction() {
return production;
}
public void setProduction(String production) {
this.production = production;
}
@Override
public String toString() {
return "Flower [id=" + id + ", name=" + name + ", price=" + price + ", production=" + production + "]";
}
}
写Mapper
package com.justtry.service;
import java.util.List;
import com.justtry.pojo.Flower;
public interface FlowerService {
/**
* 显示所有花类信息
* @return
*/
List<Flower> selAll();
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace 实现类的全路径 包名+类名 -->
<mapper namespace="com.justtry.pojo.Flower">
<select id="selall" resultType="com.justtry.pojo.Flower">
select * from flower
</select>
</mapper>
写service
package com.justtry.service;
import java.util.List;
import com.justtry.pojo.Flower;
public interface FlowerService {
/**
* 显示所有花类信息
*/
List<Flower> show();
}
package com.justtry.service.impl;
import java.util.List;
import com.justtry.dao.FlowerDao;
import com.justtry.impl.FlowerDaoimpl;
import com.justtry.pojo.Flower;
import com.justtry.service.FlowerService;
public class FlowerServiceimpl implements FlowerService {
private FlowerDao flowerDao=new FlowerDaoimpl();
public List<Flower> show() {
// TODO 自动生成的方法存根
return flowerDao.selAll();
}
@Override
public int add(Flower flower) {
// TODO 自动生成的方法存根
return flowerDao.insFlower(flower);
}
}