Eclipse使用Maven部署javaweb项目到CentOS7服务器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38409944/article/details/81867741

前言:

前一章已经了解了Eclipse的基本使用 ,这节主要是在Eclipse中使用Maven配置javaweb到CentOS7服务器,不只是CentOS7其他Linux也是通用的,只要服务器装载了Tomcat即可。

第一步:
修改Maven的jdk版本与你Eclipse的jdk版本一致。前一章已经介绍过了,这里就不累赘了。
第二步:
创建Maven格式的javaweb项目。
File –>new–>others–>
这里写图片描述


注意:上面的要打勾 是默认跳过骨架
这里写图片描述


这里Group ID 和Artifact ID是针对项目而言的 ,而不是路径
jar代表的是普通java项目 而war代表的是javaweb项目
这里写图片描述


这里写图片描述
创建后:有两个问题

1. 报错
2. 不符合Maven的约定的格式

右击项目:修改Project Facets
这里写图片描述
先查看java版本是否正确
其次 取消Dynamic Web Module的勾 然后Apply
然后再打勾Dynamic Web Module 就会出现下面的

Futher……available的提示  点击进行配置WebContent

这里写图片描述
结果是如下效果:
这里写图片描述

接下来 我们把WebContent下的WEB-INF复制到src的java的webapp下,然后删除WebContent

为什么pom.xml会报错?

因为没有web.xml 

其实Maven3以后就不需要这些了,
只要右击项目 Maven –>Update Project 更新项目即可

接下来我们写一个简单的jsp和servlet:如此结构。
这里写图片描述

但是其实会报错,因为 jsp和servlet需要的jar包没有导入。
所以需要配置pom.xml:

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>mm</groupId>
  <artifactId>mm</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
   <properties>  
        <!-- 文件拷贝时的编码 -->  
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
        <!-- 编译时的编码 -->  
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>  
    </properties>  
  <dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.1</version>
    </dependency>
  </dependencies>
</project>

问:那请问 我怎么知道到底需要什么jar包呢?

答:其实只要哪里报错,你鼠标移上去就会提示缺少什么jar包。
然后上Maven库查找即可:

http://mvnrepository.com/

可以随便看一个栗子:将图片最后的地址原样粘贴到pom.xml即可
这里写图片描述

<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency>

这个时候就会从中央仓库下载到本地仓库 如何知道呢?看jar包引用位置。
这里写图片描述
如果有乱码问题:可以在pom.xml加入如下内容:

<properties>  
        <!-- 文件拷贝时的编码 -->  
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
        <!-- 编译时的编码 -->  
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>  
    </properties>  

总结:
只要配置了pom.xml的jar包依赖 ,项目中就会直接引用。

最后只要右击项目 Run as –>Maven install 上传到本地仓库
进入后将 war包上传到Tomcat的webapps即可。
注意:可以将war包修改名字后再上传

提一嘴:
重定向的乱码问题解决方案:
如果是跳转的位置 没有text/html等说明的话 如跳转到servlet页面:

response.setContentType("text/html;charset=utf-8");

如果是jsp等页面有text/html;charset=utf-8等说明

response.setContentType("utf-8");

猜你喜欢

转载自blog.csdn.net/qq_38409944/article/details/81867741