欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > javaweb

javaweb

2025/2/24 1:13:39 来源:https://blog.csdn.net/2301_79469341/article/details/145283132  浏览:    关键词:javaweb

文章目录

    • 1、基本概念
      • 1.1、前言
      • 1.2、web应用程序
        • 静态web
        • 动态web
    • 2、web服务器
      • 2.1、三大动态网页技术
      • 2.2、web服务器
    • 3、TomCat
        • 启动TomCat
        • 配置文件
        • 思考?网站是如何进行访问的
        • 发布一个web网站
    • 4、HTTP
        • http请求
          • 请求行
          • 消息头
        • http响应
          • 响应体
          • 响应状态码
    • 5、Maven
        • 5.1 Maven项目架构管理工具
        • 5.2 配置环境变量
        • 5.3 配置阿里云镜像
        • 5.4 本地仓库
        • 5.5 在IDEA中使用Maven
        • 5.6 在IDEA中配置Tomcat
        • 5.7 pom文件
        • 5.8 Maven仓库的使用
    • 6、Servlet
        • HelloServlet

1、基本概念

1.1、前言

web开发:

  • web,网页的意思

  • 静态web

    • html,css
    • 提供给所有人看,数据始终不会有任何变化
  • 动态web

    • 提供给所有人看的数据始终会发生变化
    • 技术栈:Servlet/JSP , ASP , PHP

在java中,动态web资源开发的技术统称为javaweb

1.2、web应用程序

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

  • test.html、aaa.html…多个web资源,这些web资源可以被外界访问,对外界提供服务;
  • 平时能访问到的任何页面、资源都存在于某一个计算机上;
  • 这些统一的web资源会被放在同一个文件夹下,构成一个web应用程序–>Tomcat:服务器
  • 一个web应用程序由多部分组成:
    • html , css , js
    • jsp , servlet
    • java程序
    • jar包
    • 配置文件(Properties)\

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

静态web
  • *.htm , *.html,这些都是网页后缀,如果服务器上一直存在这些文件,可以被直接读取

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 静态web缺点:

    • web页面无法动态更新,所有用户看到的都是同一个页面
      • 让页面动起来(伪动态):轮播图、JS、VBScript
    • 无法和数据库交互(数据无法持久化,用户无法交互)
动态web
  • 页面动态展示,展示的效果因人而异

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 动态web缺点:
    • 假如服务器动态web资源出现错误,需要重新编写后台程序,重新发布
  • 动态web优点:
    • web页面可以动态更新
    • 可以与数据库交互(数据持久化:注册、商品信息、用户信息…)

2、web服务器

2.1、三大动态网页技术

ASP:

  • 微软开发,国内最早的
  • 在html中嵌入了VB脚本,ASP+DOM;
  • ASP开发中,基本一个页面代码很长,因为要在里面嵌入很多代码,主要使用C#语言,主要使用IIS作为运行平台
  • 维护成本高
<%@ Language="VBScript" %>
<html>
<head><title>ASP 示例页面</title>
</head>
<body><h1>欢迎来到我的ASP页面</h1><p>以下是动态生成的内容:</p><!-- 在服务器端生成当前日期和时间 --><p>当前时间是:<%= Now() %></p><!-- 简单的逻辑判断 --><% Dim hourhour = Hour(Now())If hour < 12 Then%><p>早上好!</p><% Else%><p>下午好!</p><% End If %>
</body>
</html

JSP/Servlet:

  • sun公司主推的B/S架构(Browser/Server);
  • 基于java语言;
  • 可以承载三高问题(高并发、高性能、高可用)带来的影响;
  • 语法像ASP,ASP—>JSP

PHP:

  • php开发速度快,功能强大,跨平台,代码简单
  • 但无法承载大访问量;

2.2、web服务器

服务器是一种被动操作,用来处理用户的一些请求和给用户一些响应

IIS

微软的;用来跑一些ASP之类的东西;Windows自带的;

TomCat

轻量级应用服务器,适用于中小型系统和并发不是很多的场景

3、TomCat

轻量级应用服务器,适用于中小型系统和并发不是很多的场景

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

启动TomCat

打开bin目录下的startup.bat文件即可。

默认是8080端口,直接访问本机的8080端口即可

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置文件

conf目录下存在一个server.xml,是服务器核心配置文件

其中Connector部分可以配置主机的端口

  • TomCatt默认端口号为:8080
  • mysql:3306
  • http:80
  • https:443

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中Host部分可以配置主机的名称,存放网站的目录名称

  • 默认的主机名为:localhost 等价于 127.0.0.1

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

思考?网站是如何进行访问的

1、输入域名

2、检查本机C:\Windows\System32\drivers\etc\hosts配置文件下有没有这个域名的映射

​ 如果有:直接返回对应的ip地址,这个地址中有我们访问的web程序,所以可以直接访问

127.0.0.1      localhost

​ 如果没有:去DNS服务器找,找到的话就返回,找不到就返回找不大;

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

发布一个web网站

将自己写的网站放到服务器指定的web应用文件夹下:

在webapps目录下,复制ROOT目录下的内容(只保留web-INF目录),保存在一个新文件夹中,新建一个index.html文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

访问localhost:8080/Clockwise即可

网站大致结构:

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

4、HTTP

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

  • 超文本:图片、音乐、视频、定位、地图…
  • 默认是80端口

https:更安全的

  • 默认是443端口
http请求
请求行
  • 请求方式:Get、Post、HEAD、DELETE、PUT
    • Get:请求能携带的参数较少,大小有限制,会在浏览器URL地址栏显示数据内容,不安全但高效
    • Post:请求能携带的参数没有限制,大小没有限制,会安全但不高效
    • 消息头
消息头
Accept: 告诉浏览器他所支持的数据类型
Accept-Encoding: 支持哪种编码方式
Accept-Language: 告诉浏览器他的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是连接
Host: 主机
http响应
响应体
Accept: 告诉浏览器他所支持的数据类型
Accept-Encoding: 支持哪种编码方式
Accept-Language: 告诉浏览器他的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是连接
Host: 主机
Refresh: 告诉客户端,多久刷新一次
Location: 让网页重新定位
响应状态码
200:请求响应成功3**:请求重定向4**:找不到资源
5*:服务器代码错误502:网关错误

5、Maven

在JavaWeb开发中,需要使用大量的jar包,我们需要手动导入,Maven可以帮我们自动导入和配置jar包。因此诞生了Maven

5.1 Maven项目架构管理工具

用来方便导入jar包,其核心思想是:约定大于配置,Maven会规定好你该如何编写代码

目录结构与Tomcat类似

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.2 配置环境变量

配置如下配置:

  • M2_HOME maven目录下的bin目录
  • MAVEN_HOME maven目录
  • 在系统的Path中配置 %MAVEN_HOME%\bin

测试

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.3 配置阿里云镜像

conf/setting.xml中进行配置,在标签内加入下面这段即可

<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>
5.4 本地仓库

本地仓库localrepository

在maven目录下新建一个maven-repo目录

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

替换掉localRespository原来的部分即可

<localRepository>D:\envir\apache-maven-3.9.9\maven-repo</localRepository>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.5 在IDEA中使用Maven

新建一个Maven项目,修改Maven路径

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这是一个干净的Maven项目

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这是一个web应用模板项目

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.6 在IDEA中配置Tomcat

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

访问网站需要指定一个文件夹的名字

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

之后点击运行,会自动弹出默认的页面index.jsp

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.7 pom文件

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

<!--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>org.example</groupId><artifactId>Maven_web</artifactId><packaging>war</packaging><version>1.0-SNAPSHOT</version><name>Maven_web Maven Webapp</name><url>http://maven.apache.org</url><!--依赖--><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-web --><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>6.2.2</version></dependency></dependencies><!--在build中配置resources,来放置我们资源导出失败的问题--><build><finalName>Maven_web</finalName></build>
</project>

由于maven中约定大于配置,如果无法被导出或生效的问题,解决方案:

<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>
5.8 Maven仓库的使用
地址:https://mvnrepository.com

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6、Servlet

  • 一门开发动态web的技术
  • 在API中提供了一个接口叫:Servlet,如何实现?
    • 编写一个类,实现Servlet接口
    • 把开发好的java类部署到web服务器中
HelloServlet

Servlet有两个默认的实现类:HttpServlet、

1、新建一个Maven项目,删掉其中的src目录,以后学习就在这里建立模组;

2、关于Maven父子工程的理解:

父项目中会有一个modules包含子项目名称,子项目中会有一个parent

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

父项目中的jar包,子项目可以直接使用。son extends father

3、Maven环境优化

​ 1.将web.xml修改为最新的

​ 2.将maven结构搭建完整

4、编写一个servlet程序

​ 1.编写一个普通类

​ 2.实现Serlvlet接口,可以直接继承HttpServlet

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;public class HelloServlet extends HttpServlet {//由于get post只是请求实现的不同方式,可以相互调用@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {PrintWriter writer=resp.getWriter();//响应流writer.print("hello,Servlet");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doPost(req, resp);}
}

5、编写Servlet的映射

因为我们的java程序,要通过浏览器访问,而浏览器需要连接web服务器,因此我们需要在web服务中注册我们写的servlet,并且需要一个浏览器能够访问的路径

  <!--注册Servlet--><servlet><servlet-name>hello</servlet-name><servlet-class>HelloServlet</servlet-class></servlet><!--Servlet的请求路径--><servlet-mapping><servlet-name>hello</servlet-name><url-pattern>hello_world</url-pattern></servlet-mapping>

6、配置Tomcat(和上面一样)

会生成一个target目录

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词