maven
体验一下maven使用
maven基本结构
- 将需要的jar包和一些相关信息配置到pom.xml文件中
- 通过网络去maven仓库/maven镜像仓库获取需要的jar包,并将jar包放入到指定的位置
- 最后java项目会去引用指定的位置的相关的jar包
1. 用maven创建一个web项目
新建一个项目,选择Maven,选择maven-archetype-webapp
2. 指定项目的存放位置以及GroupId 和 Artifaction
GroupId 和 Artifaction:确认这个项目有一个唯一标识,可以在pom.xml中配置,将这个项目的war包或者jar包down下来,方便以后别人可以使用这个项目
3. 指定maven程序、配置文件、下载目录
4. 配置阿里镜像
默认是没有settings.xml
需要在下面这个目录下复制一份settings.xml复制过来
在settings.xml加上即可
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
5. 用pom.xml下载包
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--引入servlet 包-->
<!--
1.引入 servlet-api.jar ,为了开发servlet
2. dependency 标签是表示引入一个包
3. groupId 包的公司/组织/开发团队/个人 信息 javax.servlet
4. artifactId :项目名javax.servlet-api
补充: groupId+artifactId是以目录形式体现
5. version 版本
6. scope 表示引入的包的作用范围
7. provided: 表示tomcat本身有jar包,这里你引入的jar包,在编译,测试有有效,但是在打包发布的时候,不要带上这个jar包
8.下载的包在你指定的目录: Local repository(C:\Users\14126\.m2)
-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
一开始引入包时,artifactId 和 groupId 在写完后可能报红,只需要刷新一下即可
本地java项目都可以引用本地maven仓库的包,如果本地maven仓库没有,才会去镜像仓库里再次下载
在maven里开发servelt
新建项目
在maven里开发servelt是要新建项目
新建servlet
如果没有看到,maven可能还没注意到引入了servlet包,刷新一下maven
后面操作就一样了
编写计算器项目
在webapp目录下存放静态资源
<!IDOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>计算器</title>
</head>
<body>
<h1>计算器</h1>
<form action="/calServlet" method="get">
num1:<input type="text"name="num1"><br/>
num2:<input type="text" name="num2"><br/>
<input type="submit" value="提交">
</form>
</body>
</html>
编写工具类
java文件都放到上面创建的java目录下
package com.px.utils;
/**
* @author 珀筱
*/
public class WebUtils {
//将String转为int,如果格式不对,如果转换失败,返回defaultVal
public static int parseInt(String strNum, int defaultVal) {
try {
return Integer.parseInt(strNum);
} catch (NumberFormatException e) {
System.out.println(strNum + "输入格式不对...");
}
return defaultVal;
}
}
编写Servlet
package com.px.servlet;
import com.px.utils.WebUtils;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* @author 珀筱
*/
public class CalServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String strNum1 = request.getParameter("num1");
String strNum2 =request.getParameter("num2");
int num1 = WebUtils.parseInt(strNum1, 0);
int num2 = WebUtils.parseInt(strNum2, 0);
int result = num1 + num2;
response.setContentType("text/html;charset=utf-8");
PrintWriter writer = response.getWriter();
writer.print("<h1>" + num1 + " + " + num2 + "=" + result + "<h1>");
writer.flush();
writer.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
配置tomcat
后面配置就一样