Java Web 开发之Jetty/Tomcat服务器配置以及Maven设置安装

Jetty 服务的安装与配置调试:


Jetty 服务的安装

Mac版Jetty 服务器下载地址:传送门

在这里插入图片描述
点击DWONLOAD 即可下载!

Jetty 服务的设置

0、修改成一个能使用的端口号:(这里我为了不跟Tomcat的默认端口8080冲突,自己手动改了另一个端口号),修改Jeety安装根目录下的 start.ini 文件 ,修改操作如下:
在这里插入图片描述

1、创建一个新的工程:(注意:这里要选择你安装Jeety服务的根路径)
在这里插入图片描述

2、在工程中创建一个servlet文件:
在这里插入图片描述

3 、给servlet 文件命名:
在这里插入图片描述
4、servlet 创建成功界面:
在这里插入图片描述
5、设置Jetty服务器:
在这里插入图片描述
6、详细设置:
在这里插入图片描述
在这里插入图片描述

Jetty 服务的调试

1、设置index.jsp 默认访问文件
在这里插入图片描述

2、启动Jetty 服务器:
在这里插入图片描述

3、输入地址查看访问结果:
在这里插入图片描述

Tomcat 服务的安装与配置调试:


Tomcat 服务的安装

下载地址:传送门
在这里插入图片描述
点击下载即可!

Tomcat 服务的设置

注意:

  • Tomcat 的设置和Jetty服务的设置基本相同,出了启动的Web容器不一样外,几乎没有任务不同。
  • 唯一要注意的就是:他们两个的端口号不同

Tomcat 的配置文件在:Tomcat 安装目录/conf/server.xml
修改端口号操作如下:
在这里插入图片描述

Tomcat 服务的调试

这里也与Jetty 服务器的调试过程没什么区别,只是启动的Web容器不同而已!

Maven 系列:


Maven 的作用:

我为什么要学习这个Maven?

  1. 在Javaweb开发中,需要使用大量的jar包,我们手动去导入;

  2. 如何能够让一个东西自动帮我导入和配置这个jar包。

    由此,Maven诞生了!

核心功能

  • 帮我们自动导入jar包,需要我们在pom.xml文件中写明相关的依赖。巨大的优势在于:你不用自己下载jar包了,只要在Maven 仓库搜索你需要使用的Jar包,并将其依赖写入pom.xml文件即可。
  • 并且会自动导入(目标Jar包)Jar包所依赖的其他jar包(连锁下载
  • 总结来说:优化jar包的下载与导入机制。

Maven的核心思想约定大于配置

  • 有约束,不要去违反。
  • Maven会规定好你该如何去编写我们的Java代码,必须要按照这个规范来;
Maven 安装:

安装参考

为何要设置M2_HOME以及 (MAVEN_HOME:Maven的安装路径)

  • 这个只是为了有一个快捷的启动路径,相当于IDEA或者Spring等工具或系统可以根据这个环境变量帮我们快速找到一些东西(不用我们手工一项项去找)。
  • 同时也方便了我们进行测试软件是否安装成功(执行一些脚本之类的)!
Maven 设置:

Maven 如何设置?(参考狂神的笔记)

1、配置阿里云镜像:(我们所使用的jar包都来自于Maven自动从仓库镜像中下载出来的,设置国内的下载源可以加速下载)
在Maven安装目录/conf/settings.xml:(做如下修改)

<mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
    <mirror>
      <id>nexus-aliyun</id>  
      <mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>  
      <name>Nexus aliyun</name>  
      <url>http://maven.aliyun.com/nexus/content/groups/public</url> 
    </mirror>
  </mirrors>

2、建立一个本地仓库(Maven默认会在user.home 下创建一个.m2的目录,在下面创建本地仓库,我们统一放在一个地方比较合理)
在Maven安装目录/conf/settings.xml:(做如下修改)

  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
  <localRepository>/Users/zhengjiaxiang/Library/maven/maven-repo</localRepository>

3、修改IDEA中Maven的默认设置(对所有新建的Maven项目都有效
在这里插入图片描述
在这里插入图片描述

4、创建一个Maven项目:
在这里插入图片描述

5、填写相关信息:
在这里插入图片描述
6、选择Maven的相关信息(这里如果在Maven的默认设置中已经设置好的话,这里就直接已经设置好了,检查一下即可!
在这里插入图片描述
7、设置Maven项目名称以及项目存储位置等信息:
在这里插入图片描述
8、自动下载jar包:
在这里插入图片描述

Maven 调试:

问题:利用模板创建出来的目录不全怎么办?缺少java 和 test 等目录(参考狂神的笔记)

1、我们首先要知道,一个标准的Maven项目长这个样纸:
在这里插入图片描述
2、但我们现在的文件结构是这样的:
在这里插入图片描述
3、我们需要建立几个新的文件达到标准目录的结构(这里之所以为什么没有自动创建这些目录,估计是Maven版本的问题,为了保险起见,我用的Maven是3.5.4,但依然还有问题!)
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
注意:按照上述方法操作,使得其达到标准Maven-web 的目录结构即可!

4、由于maven默认web项目中的web.xml版本过低,我们使用最新标准的xml文件进行配置:
在这里插入图片描述
我们将其内容设置为:(替换为webapp4.0版本和tomcat一致)

<?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"
         metadata-complete="true">
</web-app>

5、设置pom.xml文件中的属性,修改如下部分:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  

问题:如果 在IDEA中的Maven项目中,在Java文件夹下 new 不出来一个 servlet的时候,该如何创建servlet?

回答:其实就是创建一个 java.class 文件,然后在该网站webapp目录中的 web.xml 中进行相应的配置即可!

假设:要写的class 文件名为:helloServlet,则web.xml中的配置应该如下:

<?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"
         metadata-complete="false">
  <servlet>
    <servlet-name>ServletTest</servlet-name>
    <servlet-class>ServletTest</servlet-class>
  </servlet>
  <!--如果要在xml中设置servlet对应的访问路径,就按如下设置:(网站访问 http:9000/MavenDemo/hello即可)-->
  <!--<servlet-mapping>-->
    <!--<servlet-name>ServletTest</servlet-name>-->
    <!--<url-pattern>/hello</url-pattern>-->
  <!--</servlet-mapping>-->

</web-app>

注意:如果能够直接在IDEA中创建出:servlet 文件,则xml中对应映射部分的配置文件写法默认就是那样(但是注意:如果想使用注解的方式来设置项目访问路径,必须更改一下xml文件,参考上面问题所述!)

问题:Maven创建webapp骨架无法使用@WebServlet来实现注解配置访问路径的解决方案

回答:参考

注意:一旦采用参考答案配置以后,我们就只能在注解和xml中两选一进行设置,两者同时设置时,只有xml文件中的定义有效(xml作用的优先级更高),@WebServlet的设置失效。

pom.xml 文件有啥用?

定位:pom.xml 是Maven的核心配置文件(Maven工具程序通过读取pom.xml来进行工作,一旦改动pom.xml内容则自动发生同步反应)
pom.xml 文件解析:(注意看注释)

<?xml version="1.0" encoding="UTF-8"?>

<!--Maven版本和头文件-->
<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>

  <!--这里就是我们刚才配置的GAV-->
  <groupId>com.kuang</groupId>
  <artifactId>javaweb-01-maven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <!--Package:项目的打包方式
  jar:java应用
  war:JavaWeb应用
  -->
  <packaging>war</packaging>


  <!--配置-->
  <properties>
    <!--项目的默认构建编码-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!--编码版本-->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

  <!--项目依赖-->
  <dependencies>
    <!--具体依赖的jar包配置文件-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
    </dependency>
  </dependencies>

  <!--项目构建用的东西-->
  <build>
    <finalName>javaweb-01-maven</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

在这里插入图片描述

maven由于他的约定大于配置,我们之后可以能遇到我们写的配置文件,无法被导出或者生效的问题,解决方案:

解决方法:在build中配置resources,来防止我们资源导出失败的问题

<!--在build中配置resources,来防止我们资源导出失败的问题-->
<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

在一个父级 IDEA Project 文件中,如何创建多个子Web工程,它们之间的Maven 有什么特点?

Maven仓库的使用:

仓库地址:https://mvnrepository.com/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后: 将刚才复制的 dependency 依赖复制到 pom.xml 文件中的相应位置即可!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值