Java Web(五)Web

举报
浅辄 发表于 2022/11/15 11:56:00 2022/11/15
【摘要】 WebJava技术栈B/S架构:Browser/Server,浏览器/服务器架构模式,它的特点是,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Wb资源,服务器把Wb资源发送给浏览器即可好处:易于维护升级:服务器端升级后,客户端无需任何部署就可以使用到新的版本静态资源:HTML、CSS、JavaScript、图片等。负责页面展现动态资源:Servlet...

Web

Java技术栈

  • B/S架构:Browser/Server,浏览器/服务器架构模式,它的特点是,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Wb资源,服务器把Wb资源发送给浏览器即可

    • 好处:易于维护升级:服务器端升级后,客户端无需任何部署就可以使用到新的版本



  • 静态资源:HTML、CSS、JavaScript、图片等。负责页面展现

  • 动态资源:Servlet、JSP等。负责逻辑处理

  • 数据库:负责存储数据

  • HTTP协议:定义通信规则

  • Web服务器:负责解析HTTP协议,解析请求数据,并发送响应数据

一.HTTP

  • 概念:HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则



  • HTTP协议特点


  1. 基于TCP协议:面向连接,安全

  2. 基于请求-响应模型的:一次请求对应一次响应

  3. HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。

  4. 缺点:多次请求间不能共享数据。 Java中使用会话技术(Cookie、Session)来解决这个问题优点:速度快

1.请求数据的格式
  • 请求数据分为3部分:

  • 请求行:请求数据的第一行。其中GET表示请求方式,/表示请求资源路径,HTTP/1.1表示协议版本

  • 请求头:第二行开始,格式为key:value形式。

  • 请求体:POST请求的最后一部分,存放请求参数

  • 常见的HTTP请求头:

    • Host:表示请求的主机名

    • User-Agent:.浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0 Chrome/79,IE浏览器的标识类似Mozilla/5.0(Windows NT)like Gecko;

    • Accept:表示浏览器能接收的资源类型,如text/*,image/或者/*表示所有;

    • Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页;

    • Accept-Encoding:表示浏览器可以支持的压缩类型,例如gzip,deflate等。

  • GET请求和POST请求区别:1.GET请求请求参数在请求行中,没有请求体。POST请求请求参数在请求体中2.GET请求请求参数大小有限制,POST没有

2.响应数据格式
  • 响应数据分为3部分:

  • 1.响应行:响应数据的第一行。其中HTTP/1.1表示议版本,200表示响应状态码,OK表示状态码描述2.响应头:第二行开始,格式为key:value形式3.响应体:最后一部分。存放响应数据

  • 常见的HTTP响应头:

    • Content-Type:表示该响应内容的类型,例如text/html,image/jpeg;

    • Content-Length:表示该响应内容的长度(字节数):

    • Content-Encoding:表示该响应压缩算法,例如gzip;

    • Cache-Control:指示客户端应如何缓存,例如max-age=300

    • 表示可以最多缓存300秒


2.1状态码大类


2.2常见的响应状态码



二.Web服务器

  • Web服务器是一个应该程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Wb开发更加便捷。主要功能是“提供网上信息浏览服务”


1.Web服务器作用?封装HTTP协议操作,简化开发可以将web项目部署到服务器中,对外提供网上浏览服务2.Tomcat是一个轻量级的Web服务器,支持Servlet/小SP少量JavaEE规范,也称为Web容器,Servlet容器

1.Tomcat简介
  • 概念:Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范。

  • JavaEE:Java Enterprise Edition,Java企业版。指Java企业级开发的技术规范总和。包含13项技术规范:JDBC、JNDl、EJB、RMl、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF

  • Tomcat也被称为Web容器、Servlet容器。Servlet需要依赖于Tomcat才能运行

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

2.Tomcat基本使用
  • 下载:官网下载

  • 安装:绿色版,直接解压即可

  • 卸载:直接删除目录即可

  • 启动:双击:bin\startup.bat






  • 关闭:

  • 1.直接×掉运行窗口:强制关闭

  • 2.bin\shutdown.bat:正常关闭

  • 3.Ctrl+C:正常关闭

3.配置
  • 配置


1.修改启动端口号:config/server.xml

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

注:HTTP协议默认端口号为80,如果将Tomcati端口号改为80,则将来访问Tomcat时,将不用输入端口号


  • 启动时可能出现的问题:


1.端口号冲突:找到对应程序,将其关闭掉

2.启动窗口一闪而过:检查JAVA_HOME环境变量是否正确配置

4.部署项目
  • Tomcat部署项目:将项目放置到webapps目录下,即部署完成

  • 一般JavaWeb项目会被打成war包,然后将war包放到webapps目录下,Tomcats会自动解压缩war文件


5.Web项目结构

5.1IDEA创建Maven Web项目


  • Web项目结构:



  • 编译后的ava字节码文件和resources的资源文件,放到WEB-lNF下的classes目录下

  • pom.xml中依赖坐标对应的jar包,放入WEB-NF下的Iib目录下

  • 使用骨架


  • 骨架:项目模板


1.选择web项目骨架,创建项目



2.删除pom.xml中多余的坐标



3.补齐缺失的目录结构




  • 不使用骨架


1.选择web项目骨架,创建项目



此处不勾选


2.pom.xml中添加打包方式为war



3.补齐缺失的目录结构:webapp





6.IDEA中使用Tomcat

6.1集成本地Tomcat


  • 将本地Tomcat集成到ldea中,然后进行项目部署即可



6.2Tomcat Maven插件


  • pom.xml添加Tomcat插件



  • 使用Maven Helper插件快速启动项目,选中项目,右键->Run Maven->tomcat7:run



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。