IDEA配置JavaWeb(tomcat环境配置 maven环境配置)

1、环境配置

Apache Tomcat是阿帕奇软件基金会(开源组织)下的一个子项目.由java编写,提供了javaweb应用程序访问的能力,内部提供了对于Servlet,JSP,WebSocket的支持,Tomcat是一个开源的免费的服务器

1、Tomcat

下载地址:apache tomcat的官网。Apache Tomcat® - Welcome! 找到你要下载的tomcat的版本

2、因为toncat是基于java开发的一个web容器,因此运行tomcat的时候需要java环境支持(必须配置好java环境,包括JAVA_HOME)

3、tomcat的文件目录

tomcat的根目录
    +bin:二进制文件所在目录,包含tomcat服务器启动和停止程序
    +conf:服务器配置目录,包含服务器的配置信息(端口号,虚拟路径,开发者模式)
    +lib:运行时的库文件(*.jar)
    +temp:临时文件所在目录
    +wabapps:项目发布/部署的目录
    +work:工作目录(存放对jsp处理之后的java文件和字节码文件)
    LICENSE 许可文件

4、新建一个javaweb项目

 IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第1张图片

 IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第2张图片

 IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第3张图片

 

5、项目目录分析

JavaWeb
    --.idea:idea的项目系统文件
    --out是当前项目执行之后生成的一个缓存文件夹,里面存放的是项目的字节码文件
    --src:存放java代码的地方
    --Web:存放前端文件(Html css jsp)
        --WEB-INF:项目的配置文件
            --web.xml:里面能够设置servlet的版本,设置当前项目的版本,程序默认的启动页面等
        --index.jsp:是一个默认的前端启动页面

IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第4张图片

 

2、maven项目环境配置

1、配置环境:

此电脑--->属性--->高级系统配置--->环境变量--->系统变量--->新建

变量名:MAVEN_HOME

变量值:配置maven的文件夹路径:C:\soft\apache-maven-3.5.4

系统变量--->path--->新建--->%MAVEN_HOME%\bin

IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第5张图片

 

IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第6张图片

 

2、查看是否已经安装成功--->cmd--->mav -vision

IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第7张图片

 

3、maven的作用:就是将之前我们在项目中新建lib然后把外部的包放入到项目中,然后再add as library这个步骤给省去了。是个包的管理工具,然后我们只需要写配置文件,会自动下载包,并且将其加载

4、如何配置一个mav项目

File --> settings ---> 左上角输入maven

配置你当前本地的maven库中的信息

IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第8张图片

 

5、新建项目的时候,选择maven的格式,根据项目指示一步步的去完成项目配置

IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第9张图片

 IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第10张图片

 IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第11张图片

3、web应用程序

基于浏览器+服务器端模式进行运行的应用程序(B/S架构);客户端只需要存在浏览器,或者支持浏览器设备,就可以在任何的地点,在任何的时间,由任何人进行访问服务端。软件的更新升级只需要更新服务端就可以了。主流的web应用程序:csdn,淘宝,京东,12306......

4、javaWeb概述

以java语言为基础,在web服务器中创建能够进行数据库访问,处理前端提交的数据能力的应用程序成为javaweb程序

IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第12张图片

 

 

javaweb学习之前的前置知识:

  • java基础语法

  • 面向对象

  • 数据库和数据库变成

  • web前端

  • java高级

JavaWeb开发环境:

  • 安装jdk

  • idea编程软件

  • mysql数据库

  • web容器(web服务器)

Web服务器之Tomcat

http服务器和web服务器

http服务器(静态资源)

http服务器一般只提供静态资源访问的能力(比如:CDN),不提供对于程序的解析,转换等处理。典型的http服务器:

Nginx

Apache

lamp = linux + apache + mysql + php

web服务器(动态资源)

web容器称之为web服务器,提供了对于web应用程序(javaWeb)的运行环境,内部能够对一些特殊的网页模板(jsp)进行解析,编译等操作,提供了动态资源的访问能力,典型的web服务器:

Tomcat

JBOSS

WebLogic

Jetty

5、JavaWeb技术

javaweb是一个庞大的知识体系,内部综合了各项web开发相关的技术,常见的有以下:

Servlet:服务端小程序

jsp:动态网页

JSTL/EL表达式:表达式语言

Fileter:过滤器

Listener:监听器

WebSocket:服务端消息主动推送技术

MVC:软件架构方式

Servlet技术入门

Servlet是一个组合词,有server + applet组合而成,是一项运行在服务端的java小程序,提供了对客户端http请求处理的能力,同事也能够将处理之后的结果响应到客户端

IDEA配置JavaWeb(tomcat环境配置 maven环境配置)_第13张图片 

 

HelloServlet

/**
 * 第一个servlet程序
 * 1、创建一个普通的java类型,然后继承于HttpServlet
 * 2、重写doGet/doPost方法(或者直接重写一个service)
 * 3、配置urL-patter
 */
/*注解*/
@WebServlet({"/hello","/he","/hi"})//这里就是前端连接后台的时候再http的地址栏中访问的内容
public class HelloServlet extends HttpServlet {
​
    //在地址栏的地址中,后面连接servlet中的webServlet后面的地址
    //就可以找到类中的方法,默认请求方式是get请求
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("HelloServlet...get");
    }
​
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("HelloServlet...post");
    }
}

基于注解的配置

从web3.0开始servlet支持使用注解的方式进行配置,servlet,使用方式是直接在servlet类上面使用@WebServlet的注解,需要注明url-pattern地址,如下:

@WebServlet("/hello")

浏览器的访问路径:

http://localhost/20220512_war_exploded/hello

或者:

@WebServlet({"/hello","/he","/hi"})
@WebServlet(urlPatterns = {"/hello","/he","/hi"})

浏览器访问的时候有以下三种映射地址中的任何一个选择就可以了

http://localhost/20220512_war_exploded/hi
http://localhost/20220512_war_exploded/hello
http://localhost/20220512_war_exploded/he

如果说方法中有service方法和get方法、post方法

doGet方法处理的是get请求

           

doPost方法处理的是post请求

           

service方法可以处理两种请求,并且service的优先级更高

基于XML的配置(3.0以下的配置)

在Web3.0之前,对于Servlet的配置还可以通过配置文件的方式进行

web.xml(位于根目录的WEB-INF中)





  ServletTest
  
  
    index.html
  
  
  
    Servlet_01
    com.softeem.servlet_01.Servlet_01
  
  
  
  
    Servlet_01
    /s1
  
  

Servlet的生命周期

以下的五个方法是servlet中常用的方法

@WebServlet("/s3")
public class Servlet_03 extends HttpServlet {
    @Override
    public void init() throws ServletException {
        System.out.println("servlet初始化");
    }
​
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("处理前端的get请求的方法");
    }
​
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("处理前端post请求的方法");
    }
​
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("service方法");
    }
​
    @Override
    public void destroy() {
        System.out.println("servlet声明结束,销毁");
    }
}

servlet在web服务器中是基于多线程进行实现的,但是是以单例模式进行执行的。(尽量避免在servlet中定义全局变量,存在线程安全的问题),对于所有的客户端的请求是通过在同一个实例中来完成的。

总结servlet的生命周期:

1、web容器(web服务器初始化)初始化会首先加载并且校验所有的servlet

2、当客户端对servlet发起第一次请求的时候,servlet会自动执行init的方法完成一些初始化的工作。(init方法只会执行一次)

3、然后根据客户端发送的请求方法有httpServlet中的service方法决定调用doXXX方法处理请求

4、之后任何客户端请都会直接执行doXXX方法,而不会再次执行init

5、当web容器停止服务的时候,所有的servlet都会执行destroy方法完成销毁工作.

你可能感兴趣的:(java,intellij-idea,tomcat,maven)