JavaWeb(一:基础知识和环境搭建)

JavaWeb(一:基础知识和环境搭建)HTTP 超文本传输协议 是一个简单的请求 响应协议 它通常运行在 TCP 之上

大家好,欢迎来到IT知识分享网。

 一、基本概念

1.前言

JavaWeb:在Java中,动态web资源开发网页的技术。

web应用分两种:静态web资源和动态web资源

Ⅰ. 静态web资源(如html 页面):

        指web页面中的数据始终是不变。

        所有用户看到都是同一个页面。

        技术:HTML、CSS。

Ⅱ. 动态web资源

        指web页面中的浏览的数据是由服务器提供的。

        所有用户看到都是同一个页面。

        技术:JSP/Servlet、ASP、PHP等。

2.web应用程序

web应用程序:可以提供浏览器访问的程序。

a.html、b.html等多个web资源,这些web资源可以被外界访问,对外界提供服务。

这个统一的web资源会被放在同一个文件夹下,web应用程序—>Tomcat:服务器

web应用程序编写完毕后,若想提供给外界访问:需要一个服务器来统一管理。

3.静态web

.htm,.html,这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取。

JavaWeb(一:基础知识和环境搭建)

 缺点:

① Web页面无法动态更新,所有用户看到的都是同一个页面。

        轮播图,点击特效:伪动态(js)

② 无法和数据库进行交互(数据无法持久化,用户无法交互)。

4.动态web

页面会动态展示:Web的页面展示的效果因人而异。

JavaWeb(一:基础知识和环境搭建)

缺点:假如服务器的动态web资源出现了错误,需要重新编写后台程序,重新发布(停机维护)。

优点:

① Web页面可以动态更新

② 可以和数据库进行交互(数据持久化:用户信息,商品信息)

二、web服务器

1.技术详解

① ASP

微软:国内最早流行的就是ASP;

在HTML 中嵌入VB的脚本,ASP + COM;

在ASP开发中,基本一个页面都有几千行的业务代码,页面极其混乱 –> 维护成本高

C# 编写 + iis服务器 

<h1> <h2> <h3> <h4> <% System.out.println("hello"); %> </h4> </h3> </h2> </h1>

② php

PHP开发速度很快,功能很强大,跨平台,代码很简单

无法承载大访问量(局限性)

③ JSP/Servlet

sun公司主推的B/S架构(B/S:浏览器和服务器        C/S:客户端和服务器)

基于Java语言,可以使用很多用开源组件(大多数由 java 编写);

可以承载三高问题(高可用,高并发,高性能)带来的影响;

语法像ASP,让ASP 可以快速转成 JSP,加强市场强度。

2.Tomcat服务器

Tomcat 技术先进、性能稳定,而且免费,实际上运行JSP 页面和Servlet。

(1)安装Tomcat

官网:https://tomcat.apache.org

JavaWeb(一:基础知识和环境搭建)

JavaWeb(一:基础知识和环境搭建)

JavaWeb(一:基础知识和环境搭建)

(2)Tomcat启动 

文件夹作用:

JavaWeb(一:基础知识和环境搭建)

 启动 / 关闭 Tomcat:

JavaWeb(一:基础知识和环境搭建)

访问测试:http://localhost:8080

JavaWeb(一:基础知识和环境搭建)

 (3)Tomcat配置

JavaWeb(一:基础知识和环境搭建)

① 可以配置启动的端口号

        Tomcat的默认端口号是8080

        MySQL:3306

        http:80

        https:443

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxParameterCount="1000" />

② 可以配置主机的名称

        默认主机名为:localhost –> 127.0.0.1

        默认网站应用存放位置为:webapps

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">

Test:网站是如何进行访问的?

① 输入一个域名,回车

② 检查本机的 host 配置文件内是否有这个域名的映射;

JavaWeb(一:基础知识和环境搭建)

JavaWeb(一:基础知识和环境搭建)

有:直接返回对应的IP地址,这个地址中,有我们需要访问的web程序,可以直接访问

没有:去DNS服务器找,找到的话就返回,找不到就返回找不到。

JavaWeb(一:基础知识和环境搭建)

(4)发布一个web网站 

将写好的网站文件放到服务器 (Tomcat) 中指定的web应用的文件夹 (webapps) 下,就可以访问了

网站应该有的结构:

— webapps : Tomcat服务器的web目录
    - ROOT
    - xxx: 网站的目录名
    - WEB-INF
        - classes : java程序
        - lib : web应用所依赖的jar包
    - web.xml : 网站配置文件
    - index.html 默认的首页
    - static
        - css
            - style.css
        - js
        - img
    - ……

三、Http

1.定义

HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。

Http:

        文本:html,字符串,~……

        超文本:图片,音乐,视频,定位,地图……

        端口:80

Https(安全的):

        端口:443

2.两个时代

① http1.0

        HTTP/1.0:客户端可以与web服务器连接后,只能获取一个web资源,然后就断开连接了。

② http2.0

        HTTP/2.0:客户端可以与web服务器连接,可以获得多个web资源

3.http请求

客户端 –> 发请求(request) –> 服务器

比如:访问百度

 ① 请求行

// 请求地址 Request URL: https://www.baidu.com/ // 请求方法 Request Method: GET // 状态代码 Status Code: 200 OK // 远程地址 + 端口 Remote Address: 14.215.177.38:443

请求方式:Get,Post,HEAD,DELETE,PUT…

        GET:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容。

                        不安全,但高效。

        POST:请求能够携带的参数无限制,大小无限制,不会在浏览器的URL地址栏显示数据内容

                        安全,但不高效。

② 消息头(请求头)

// 告诉浏览器,它所支持的数据类型
Accept: text/html
// 告诉浏览器,它支持哪种编码格式:GBK,UTF-8,GB2312,ISO8859-1
Accept-Encoding: gzip, deflate, br
// 告诉浏览器,它的语言环境
Accept-Language: zh-CN,zh;q=0.9
// 缓存控制
Cache-Control: max-age=0
// 告诉浏览器,请求完成是断开还是保持
Connection: keep-alive

4.http响应

服务器 –> 响应(response)–> 客户端

// 缓存控制
Cache-Control: no-cache
// 保持连接(http1.1)
Connection: keep-alive
// 文本编码类型
Content-Encoding: gzip
// 响应类型
Content-Type: text/html;charset=utf-8

① 响应体

Accept: 告诉浏览器,它所支持的数据类型 Accept-Encoding: 告诉浏览器,它支持哪种编码格式:GBK,UTF-8,GB2312,ISO8859-1 Accept-Language: 告诉浏览器,它的语言环境 Cache-Control: 缓存控制 Connection: 告诉浏览器,请求完成是断开还是保持 HOST:主机 Refresh:告诉客户端,多久刷新一次 Location:让网页重新定位

② 响应状态码

200:请求响应成功

3xx:请求重定向(304等等)

4xx:找不到资源(404等等)

5xx:服务器代码错误(500代码错误,502网关错误)

四、Maven

在java开发中,需要使用大量的 jar 包,这需要我们手动导入。

1.Maven项目架构管理工具

Maven的作用:自动导入和配置 jar 包

Maven的核心思想:约定大于配置(有约束,不要去违反)。

Maven 会规定好该如何去编写我们的Java代码,必须要按照这个规则来。

2.下载安装Maven

官网:https://maven.apache.org

JavaWeb(一:基础知识和环境搭建)

 下载完成后,解压即可。

3.配置环境变量

在环境变量中,配置以下配置:

        M2_HOME:maven目录下的 bin 目录(目前用不到,后续 spring 会用到)

JavaWeb(一:基础知识和环境搭建)

        MAVEN_HOME:maven 的目录

JavaWeb(一:基础知识和环境搭建)

        在系统的 path 中配置: %MAVEN_HOME%\bin

JavaWeb(一:基础知识和环境搭建)

在 cmd 中输入:mvn -version,测试是否配置成功。

JavaWeb(一:基础知识和环境搭建)

4.阿里云镜像 

镜像:mirrors

作用:加速我们的下载(国内建议使用阿里云的镜像)

JavaWeb(一:基础知识和环境搭建)

<mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>https://maven.aliyun.com/repository/public</url> </mirror>

JavaWeb(一:基础知识和环境搭建)

 5.本地仓库

建立一个本地仓库

JavaWeb(一:基础知识和环境搭建)

 同样在 setting.xml 中对应地方添加如下代码:

<localRepository>D:\apache-maven-3.9.8\maven-repo</localRepository>

JavaWeb(一:基础知识和环境搭建)

6. 配置 jdk17 版本项目构建

maven 需要对 Java 工程进行构建,默认的构建版本可能过低,不支持 Java 一些最新的新特性。

我们需要将 jdk 的编译版本改为 jdk17,这样代码中所有的新特性构建时都支持。

<!--在profiles节点(标签)下添加jdk编译版本--> <profile> <id>jdk-17</id> <activation> <activeByDefault>true</activeByDefault> <jdk>17</jdk> </activation> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <maven.compiler.compilerVersion>17</maven.compiler.compilerVersion> </properties> </profile>

JavaWeb(一:基础知识和环境搭建)

7.在IDEA中使用本地仓库 

① 启动 IDEA,创建一个新项目

JavaWeb(一:基础知识和环境搭建)

②  创建一个 maven 项目

JavaWeb(一:基础知识和环境搭建)

③ IDEA中的 maven 设置 

JavaWeb(一:基础知识和环境搭建)

④ 等待项目初始化完毕

JavaWeb(一:基础知识和环境搭建)

⑤  创建文件夹,并标记

JavaWeb(一:基础知识和环境搭建)

⑥ IDEA中配置 Tomcat

JavaWeb(一:基础知识和环境搭建)

JavaWeb(一:基础知识和环境搭建)

JavaWeb(一:基础知识和环境搭建)

JavaWeb(一:基础知识和环境搭建)

JavaWeb(一:基础知识和环境搭建)

⑦ 将web.xm中替换为6.0版本,保持和 Tomcat 一致。

JavaWeb(一:基础知识和环境搭建)

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd" version="6.0" metadata-complete="true"> </web-app> 

8.pom文件 

pom.xml是Maven的核心配置文件

Maven由于它的约定大于配置,我们之后可以能遇到我们写的配置文件,无法被导出或者生效的问题。

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

<!--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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- 之前配置的GAV --> <groupId>com.mihoyo</groupId> <artifactId>javaweb</artifactId> <version>1.0-SNAPSHOT</version> <!-- package:项目的打包方式 jar:java应用 war:javaWeb应用 --> <packaging>war</packaging> <!-- 项目依赖 --> <dependencies> <!-- 具体依赖的jar包配置文件 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- maven的高级之处在于:会自动帮你导入这个jar包所依赖的其他jar包 --> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>6.1.10</version> </dependency> </dependencies> <!-- 在build中配置 resources,来防止我们资源导出失败的问题 --> <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>/*.properties</include> <include>/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>/*.properties</include> <include>/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build> </project> 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/118150.html

(0)
上一篇 2025-11-15 13:20
下一篇 2025-11-15 13:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信