栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

创建Maven版的Web工程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建Maven版的Web工程

1、说明

使用 mvn archetype:generate 命令生成 Web 工程时,需要使用一个专门的 archetype。这个专门生成 Web 工程骨架的 archetype 可以参照官网看到它的用法:

-D代表参数的意思
参数 archetypeGroupId、archetypeArtifactId、archetypeVersion 用来指定现在使用的 maven-archetype-webapp 的坐标。

2、操作

注意:如果在上一个工程的目录下执行 mvn archetype:generate 命令,那么 Maven 会报错:不能在一个非 pom 的工程下再创建其他工程。所以不要再刚才创建的工程里再创建新的工程,请回到工作空间根目录来操作。

然后运行生成工程的命令:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.4

下面的操作按照提示执行:

TIP

Define value for property ‘groupId’: com.haven.maven Define value
for property ‘artifactId’: pro02-maven-web Define value for property
‘version’ 1.0-SNAPSHOT: :【直接回车,使用默认值】

Define value for property ‘package’ com.haven.maven: :【直接回车,使用默认值】
Confirm properties configuration: groupId: com.haven.maven
artifactId: pro02-maven-web version: 1.0-SNAPSHOT package:
com.haven.maven Y: :【直接回车,表示确认】

3、生成的pom.xml

确认打包的方式是war包形式

war
4、生成的Web工程的目录结构


webapp 目录下有 index.jsp

WEB-INF 目录下有 web.xml

5、创建 Servlet ①在 main 目录下创建 java 目录

②在 java 目录下创建 Servlet 类所在的包的目录

借鉴的图,原理一样

③在包下创建 Servlet 类
package com.atguigu.maven;
	
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
	
public class HelloServlet extends HttpServlet{
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		response.getWriter().write("hello maven web");
		
	}
	
}

但是会出现下面出现无法解析servlet的情况

我开始以为是没有添加相关依赖,于是我就去pom.xml里面添加了两条依赖:


          org.springframework.security
          spring-security-web
          5.6.1
      
    
      org.springframework.security
      spring-security-web
      5.6.1
    

但是问题依旧没有解决,后面了解到是需要添加tomcat里面的servlet-api.jar,于是乎,假设你已经安装了tomcat,右键项目名,选择Open Module Settings,进入到Project Struture

进入到Project Structure后,点击Libraries,再点击“+”,选择Java

在弹出的窗口中选择自己tomcat的安装目录,进入里面的lib目录,然后找到servlet-api.jar这个jar包(如果JSP页面也有相关的JavaWeb对象,则还要寻找jsp-api.jar;如果只有Servlet,则只选择servlet-api.jar),然后点击OK,选择项目名,再点击OK


这个时候就正常了。

④在 web.xml 中注册 Servlet
  
	https://blog.csdn.net/qq_40500099/article/details/helloServlet
	com.atguigu.maven.HelloServlet
  
  
	https://blog.csdn.net/qq_40500099/article/details/helloServlet
	/https://blog.csdn.net/qq_40500099/article/details/helloServlet
  
6、在 index.jsp 页面编写超链接


Hello World! Access Servlet

TIP

JSP全称是 Java Server Page,和 Thymeleaf 一样,是服务器端页面渲染技术。这里我们不必关心 JSP
语法细节,编写一个超链接标签即可。

7、编译

此时直接执行 mvn compile 命令出错:

上面的错误信息说明:我们的 Web 工程用到了 HttpServlet 这个类,而 HttpServlet 这个类属于 servlet-api.jar 这个 jar 包。此时我们说,Web 工程需要依赖 servlet-api.jar 包。

8、配置对 servlet-api.jar 包的依赖

对于不知道详细信息的依赖可以到https://mvnrepository.com/网站查询。使用关键词搜索,然后在搜索结果列表中选择适合的使用。

这里面可能是由于不同组织的人进行的封装,所以可能不太一样,但是基本功能是全的,所以我们选择第一个就行了。

我们选择第一个之后,会看到很多的版本,一般可以选择引用最多或者最新的。
这里我选择引用最多的。

点击方框内部,直接复制,然后放置到pom.xml里面的依赖中。
这样就可以把上面的信息加入 pom.xml。重新执行 mvn compile 命令。

9、将 Web 工程打包为 war 包

运行 mvn package 命令,生成 war 包的位置如下图所示:

10、将 war 包部署到 Tomcat 上运行

将 war 包复制到 Tomcat/webapps 目录下

启动 Tomcat:


通过浏览器尝试访问:http://localhost:8080/pro02-maven-web/index.jsp

web项目搭建完成。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/943752.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号