Maven项目创建步骤详解_smart tomcat使用介绍_Servlet项目初识(Servlet_1)

简介: Maven项目创建步骤详解_smart tomcat使用介绍_Servlet项目初识(Servlet_1)

Maven介绍

Maven是个啥?


Maven就是一个工程管理工具/构建工具!

maven是java圈子里的一个知名工具

核心功能:


管理依赖

依赖:就是当我们要进行某项操作之前要先具备某项操作,就例如我们要实现在idea下进行mysql数据库的操控,我们就要先导入jdbc这个依赖,这个jar包!还有我们在编写代码时用到的库都可以看成是依赖!

为啥要管理呢?

因为当我们的项目要使用到很多依赖,例如很多第三方库时,这时如果我们需要直接管理,就要花费很多时间!而maven就直接帮我们管理好了!不需要我们自己去了解依赖间的关系!


构建/编译

我们知道我们的java代码最后还是在jdk下编译运行的,而这里的maven也是通过jdk帮助我们进行编译!


打包

打包就是将我们写的java项目压缩成war包或者jar包,里面有很多.class文件,这就是发布的过程!


创建maven项目

我们这里的maven虽然是一个工具,但是我们可以不下载,直接使用idea下现成的maven创建项目即可!

image.png


我们打开idea在创建项目时,选择Maven创建即可!


image.png

我们只需要将项目名填写,然后选择好路径即可!

其他信息自行解读!

image.png

我们项目创建成功后就可以看到下面目录文件!

image.png


这里不同的目录下面存放的文件有不同的意义!

src/main/java/:存放我们的java代码!

src/main/resources/:存放依赖资源

src/test/java/存放单元测试的代码!

src/pom.xml:这个maven项目的核心配置文件信息!

image.png


这里就描述了一个maven项目的生命周期!

通过点击不同的状态,生成不同状态的maven项目!


例如:package就是用来打包成war包的!


使用举例

那么如何使用maven工具进行开发呢?


下载依赖

我们通过maven就可以下载引入依赖!


例如:引入jdbc!

image.png

我们通过maven中央管理仓库,找到我们需要下载的jdbc!

找到maven配置信息,复制到我们的项目中的pom.xml中即可!

image.png

我们要将这里的信息复制到<dependencies> </dependencies>

我们将所有的第三方依赖信息都放在里面!

我们这样就导入了jdbc的依赖信息,maven就会帮我们进行下载对应的资源!

image.png



我们进行刷新一下即可!


这就导入了依赖!

image.png

我们就可以进行数据库编程了!


Servlet项目

我们通对学习maven项目的创建已经对maven工具的使用有了一定的了解!

我们此时就可以步入今天的正题Servlet


Servlet

这是HTTP给我们提供的API,用于java中构建HTTP请求和响应!

我们通过对Servlet的学习,就可以直接创建请求和响应,这是我们创建一个web项目的基础!


Servlet项目七步走


1.创建项目:maven项目

2.引入依赖:把servlet依赖引入

3.创建目录:webapp/WEB-INF/web.xml

4.编写Servlet代码

5.打包

6.部署

7.验证程序

我们通过上面7步就可以创建一个Servlet项目!


刚刚我们已经解决了上面的第一步!


2.引入Servlet依赖

image.png


4.创建目录:wabapp/WEB-INF/web.xml

我们通过刚刚创建的目录不足以编写一个Servlet项目,所以我们需要在src/main下创建wabapp/WEB-INF/web.xml

image.png


为啥要这样创建呢?


嗯…规定!

我们来看看Tomcat下的目录

image.png

这里是多个web项目存放在webapps所以这里要加上s

而我们这里只是一个项目,所有用webapp!


还有这里web.xml需要写点内容!

这里的内容也是规定这样写的,不必深究!


<!-- web.xml-->
<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
    <display-name>Archetype Created Web Application</display-name>
</web-app>

将上面的内容复制到web.xml下即可!

image.png


5.编写Servlet代码

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/Servlet")//ServletPath
public class ServletTest extends HttpServlet{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //req:请求,resp:响应,需要我们直接根据不同的请求编写响应代码!
        resp.getWriter().write("hello world");
    }
}

image.png

HttpServlet:我们通过继承Servlet给我提供的HttpServlet方法,才可以编写以个Servlet代码!这里只有我们正确引入依赖才能继承成功!


@webServlet("/Servlet")这里用于关联tomcat服务器下URL的路径,并确该Servlet对象所在位置,因为一个web项目中可能有很多一个网页,或者请求交换,通过这里的路径就可以确定请求或者页面位置!

image.png

doGet:表示处理一个Get请求!这里是重写父类的方法,需要将调用父类中的该方法这一行注释掉!

image.png

不注销掉,我们自己编写的方法就不生效!这里可以处理Post等一些列请求!

image.png


req:(request)是Tomcat服务器接收到的请求,我们不需要处理,只需要根据请求作出响应的响应即可!

resp(response):我们只需要将响应写入该响应对象即可,其他操作由我们的tomact处理!


服务器工作流程:

1.接收并解析请求

2.根据请求,计算响应

3.构造响应数据返回给客户端

这里的1,3都由我们的tomcat服务器完成,我们只需要完成第二步即可!


resp.getWriter().write("hello world");

getWriter()方法返回一个Writer(字符流)对象,这里的Writer是直接往响应body中写,然后通过writer方法写数据!


6 打包部署

打包前我们先配置一些pom.xml文件!

因为我们默认打包是jar而我们需要打包成war!

image.png

<packaging>war</packaging> <!--打包类型 war-->
    <build>
        <finalName>Test</finalName> <!--指定打包成的war包名!-->
    </build>

我们点击package就完成了打包!

image.png

我们在这个项目的路径下找到这个war包!

image.png


然后部署到tomcat服务器上!


也就是复制到我们tomcat的webapps目录下即可,会主动帮我们解压缩!

image.png


验证

image.png


Content path:这里的Test/一级路径,就是我们的项目路径名(也就是我们打包的war名),定位我们的项目位置,因为服务器下可能有很多项目!

Servlet path:这里的Servlet二级目录,就指定了该项目下的请求或者或者网页(html)位置!


我们可以看到我们的这个项目部署成功!这里的hello world正是我们返回给服务器的响应数据!

我们也能构造动态的页面,用于用户交换!


我们通过Fiddler抓包读取一下请求和响应!


请求:

image.png

这里是一个Get请求,服务器的url为127.0.0.1:8080


响应:

image.png


这里的请求成功,响应状态码200 ok!

body中的内容就是我们计算的响应数据!


smart tomcat

我们看到上面的打包部署在我们的服务器上的步骤比较繁琐!

我们能不能简化开发?


smart tomcat

我们通过将smart tomcat插件扩展到idea下,将tomcat集成到idea!

就省去了打包部署的步骤,通过这个插件可以做到一键式打包部署!

其实就是帮我们把Servlet打包部署到我们本地的tomcat下!


smart tomcat安装

image.png


smart tomcat使用


将smart tomcat插件添加到这个项目中!

image.png


设置

image.png

Content Path就是我们项目的第一级路径,后面访问要路径一致!


一键打包部署

image.png

可以看到报错了,这里就提示我们端口被占用,因为刚刚我们已经启动了tomcat服务器,需要把刚刚那台服务器关了!

image.png


这就部署成功了!


验证

image.png

目录
相关文章
|
3天前
|
XML 前端开发 Java
SpringMVC入门到实战------2、SpringMVC创建实例Hello SpringMVC(maven+tomcat)
这篇文章是SpringMVC框架的入门教程,详细指导了如何在IDEA中使用Maven和Tomcat创建SpringMVC工程,包括添加依赖、配置web.xml、编写控制器、创建配置文件、配置Tomcat服务器以及进行基本的测试,展示了一个简单的Hello SpringMVC示例。
SpringMVC入门到实战------2、SpringMVC创建实例Hello SpringMVC(maven+tomcat)
|
4天前
|
Java Maven
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
这篇文章是一份关于Maven的安装和配置指南,包括下载、环境变量设置、配置文件修改、IDEA集成Maven以及解决jar包下载问题的方法。
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
|
3天前
|
Java 应用服务中间件 Maven
Mac使用Idea配置传统SSM项目(非maven项目)
Mac使用Idea配置传统SSM项目(非maven项目)
12 1
|
4天前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
14 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
4天前
|
Java Maven
成功解决IDEA中建立新项目Maven会默认选择配置(图解详细说明)
这篇文章提供了在IntelliJ IDEA中设置新项目的Maven配置的详细步骤,包括如何通过菜单路径进入设置,选择Maven配置,以及展示设置后的效果,还提供了Maven的安装教程和解决导入项目时jar包下载问题的方案。
成功解决IDEA中建立新项目Maven会默认选择配置(图解详细说明)
|
4天前
|
SQL 前端开发 Java
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
这篇文章介绍了如何在IntelliJ IDEA中使用Maven将Spring Boot项目打包成可运行的jar包,并提供了运行jar包的方法。同时,还讨论了如何解决jar包冲突问题,并提供了在IDEA中同时启动Vue前端项目和Spring Boot后端项目的步骤。
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
|
4天前
|
Java 应用服务中间件 Apache
使用IDEA修改Web项目访问路径,以及解决Apache Tomcat控制台中文乱码问题
本文介绍了在IntelliJ IDEA中修改Web项目访问路径的步骤,包括修改项目、模块、Artifacts的配置,编辑Tomcat服务器设置,以及解决Apache Tomcat控制台中文乱码问题的方法。
9 0
使用IDEA修改Web项目访问路径,以及解决Apache Tomcat控制台中文乱码问题
|
2天前
|
Java Apache Maven
Maven 项目文档
本节介绍如何创建Maven项目文档。以在`C:/MVN`下的`consumerBanking`项目为例,使用`mvn archetype:generate`命令快速搭建。需在`pom.xml`中添加`maven-site-plugin`和`maven-project-info-reports-plugin`插件配置以避免运行`mvn site`时出现`NoClassDefFoundError`错误,确保`maven-site-plugin`版本为3.3或以上。
|
4天前
|
前端开发 Java 测试技术
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
|
4天前
|
Java Apache Maven
Maven 项目文档
本章介绍如何创建Maven项目文档。以在C:/MVN目录下的`consumerBanking`项目为例,使用`mvn archetype:generate`命令快速搭建。需配置pom.xml,添加maven-site-plugin和maven-project-info-reports-plugin插件,版本分别为3.3和2.7,以避免运行`mvn site`时出现类找不到的错误。