配置Maven环境:
1. 去Maven官网下载项目管理工具
https://maven.apache.org/download.cgi
2. 环境配置
-
系统变量: 新建
M2_HOME bin目录
MAVEN_HOME bin的上一级目录
- Path: 新建
%MAVEN_HOME%\bin
3. 检查是否配置成功
cmd 上输入 maven -version 或 mvn -version
4. 修改配置文件:
更改maven仓库路径
-
在maven根目录下创建文件夹 maven-repo
-
根目录/conf/setting.xml 找到 localRepository 注释下加入
<localRepository> maven-repo文件夹路径 </localRepository>
添加更新源
根目录/conf/setting.xml 找到 mirrors 标签内加入
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
配置jdk版本
根目录/conf/setting.xml 找到 profiles 标签 将代码 放入 profiles 标签中
并且 更改为自己的jdk版本
比如 你的jdk版本为 8 则 把14全改为8
<profile>
<id>jdk-14</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>14</jdk>
</activation>
<properties>
<maven.compiler.source>14</maven.compiler.source>
<maven.compiler.target>14</maven.compiler.target>
<maven.compiler.compilerVersion>14</maven.compiler.compilerVersion>
</properties>
</profile>
5. idea中配置maven
idea中有自带的Maven, 尽量不要使用, 但新建maven时默认选中的是idea的maven,所以要设置默认maven
- 老版本 File->Close Project 点击主页面的 Setting 全局设置中 设置Maven
- 新版本 File -> New Projects Settings -> Settings For New Projects 中设置Maven
Build,… -> Build Tools -> Maven
Maven home path: 修改为自己下载的maven版本
User setting file: 找到自己的maven下的 setting.xml 文件
Local repository: 找到紫的maven下的 maven-repo 资料库
建立项目:
Servlet接口Sun公司有两个默认的实现类:HttpServlet, GenericServlet
1. 新建项目
构建一个普通的Maven项目, 删掉里面的src目录, 以后我们的学习就在这个项目里面建立Module; 这个空的工厂就是Maven主工程, 然后再这个项目下 新建一个 Module 勾选上 Create From archetype 选择 maven-archetype-webapps 模板进行创建
建立依赖: 在父项目pom.xml文件导入依赖
<!-- 项目依赖 -->
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
</dependency>
</dependencies>
2. 关于Maven父子工程理解
父项目pom.xml中要有
<modules>
<module>servlet-01</module>
</modules>
子项目pom.xml要有
<parent>
<artifactId>javaweb-02-servlet</artifactId>
<groupId>com.ggbond</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
父项目中的 jar包 子项目可以直接使用
son extends father
3. Maven环境优化
-
修改web.xml为最新版本
<!-- 替换为webapp4.0版本和tomcat版本一致 --> <!-- 若 web-app中 加入metadata-complete="true" 该值为true 不扫描注解信息 --> <?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_4_0.xsd" version="4.0"> </web-app>
-
将maven的结构搭建完整
4. 编写Servlet程序 例:
在java目录下新建一个Servlet
public class HelloServlet extends HttpServlet {
// 由于get或者post只是请求实现的不同方式, 可以相互调用, 业务逻辑都一样
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("进入doGet方法!");
resp.setContentType("text/html;charset=UTF-8");
PrintWriter writer = resp.getWriter();
writer.print("Hello, Servlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
5. 编写Servlet的映射
在web.xml下添加映射
<!-- 注册Servlet -->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.ggbond.servlet.HelloServlet</servlet-class>
</servlet>
<!--Servlet的请求路径 -->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
为什么需要映射:我们写的是JAVA程序, 但是要通过浏览器访问, 而浏览器需要连接web服务器, 所以我们需要
在web服务器中注册我们写的Servlet, 还需要给他一个浏览器能够访问的路径