一、为什么要学习SSH框架
①、 体验开源的优秀的框架(稳定),带来的便利 ;
②、与自定义mvc框架的知识相互验证;
③、开发模式的转变,前后端分离;
二、Maven
1、Maven的简单介绍
Apache Maven 是个项目管理和自动构建工具,基于项目对象模型(POM(Project Object Model,项目对象模型))的概念。
作用:完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于Maven部署项目。
2、Maven的配置
①、下载maven安装包,解压到非中文的文件目录下
②、配置Maven环境把变量
新增MAVEN-HOME
在path中添加Maven路径(%MAVEN_HOME%\bin; )
验证是否配置成功 (输入mvn –version)
本地仓库
修改“MAVEN_HOME\config”下的setting.xml文件,配置本地仓库(搜索localRepository)
<localRepository>E:/Maven/repository</localRepository>
②、私有仓库
换源“阿里云”私服(镜像仓库)
可直接查找mirror就能出来(setting.xml中找到mirrors标签,再添加阿里镜像即可)
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven.</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
4、在eclipse中配置Maven
设置maven安装路径
①、window->preferences->搜索(maven)->Installations->添加apache路径并选中
②、指定setting.xml文件
window->preferences->搜索(maven)-> User Settings
三、创建Maven项目
1、新建Maven project
创建java项目 Maven project maven-archetype-quickstart
group id:组织id,一般就是公司域名反写
artifact id:项目名字
version:版本
package:java包名
src/main(源代码)
src/test(测试代码)
target 编译后、打包后的文件
2、更改配置(在maven项目中将服务跑起来)
注意:在Maven项目中没有tomcat依赖(需要在Maven项目中导入Tomcat相关依赖)
①、修改Dynamic Web Module 为3.1
修改Java为1.8
先不勾选Dynamic Web Module运行,在勾选Dynamic Web Module该WebCount为webapp
②、修改src/main/webapp/WEB-INF/webxml
<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>
③、Maven/pom.xml中导入servlet相关的依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.0</version>
<scope>provided</scope>
</dependency>
测试:
package com.ysq.demo1;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/demo")
public class DemoServlet extends HttpServlet{
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
System.out.println("maven 之helloworld实现");
}
}
结果:
运用坐标轴的方式导入进Maven/pom.xm
jar包自动导入
如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ysq</groupId>
<artifactId>Maven</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>Maven Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.plugin.version>3.7.0</maven.compiler.plugin.version>
<!--添加jar包依赖-->
<!--mysql-->
<mysql.version>5.1.44</mysql.version>
<!--5.其他-->
<junit.version>4.12</junit.version>
<servlet.version>4.0.0</servlet.version>
<jackson.version>2.9.3</jackson.version>
<jstl.version>1.2</jstl.version>
<standard.version>1.1.2</standard.version>
<tomcat-jsp-api.version>8.0.47</tomcat-jsp-api.version>
<commons-beanutils.version>1.9.3</commons-beanutils.version>
<dom4j.version>1.6.1</dom4j.version>
<jaxen.version>1.1.6</jaxen.version>
</properties>
<dependencies>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>${jaxen.version}</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>${dom4j.version}</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>${commons-beanutils.version}</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>${jstl.version}</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>${standard.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jsp-api</artifactId>
<version>${tomcat-jsp-api.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>com.github.davidcarboni</groupId>
<artifactId>encrypted-file-upload</artifactId>
<version>2.1.0</version>
</dependency>
</dependencies>
<build>
<finalName>Maven</finalName>
</build>
</project>