首页 > 编程语言 >尚硅谷全新JavaWeb教程,企业主流javaweb技术栈【学习笔记】下

尚硅谷全新JavaWeb教程,企业主流javaweb技术栈【学习笔记】下

时间:2024-03-26 18:34:12浏览次数:26  
标签:教程 HTTP 请求 tomcat 响应 1.1 浏览器 javaweb JavaWeb

尚硅谷全新JavaWeb教程,企业主流javaweb技术栈【学习笔记】上-CSDN博客

 第五章 XML_Tomcat10_HTTP

 一 XML

XML是EXtensible Markup Language的缩写,翻译过来就是可扩展标i记语言。所以很明显,XML和HTML一样都是标记语言,也就是说它们的基
本语法都是标签。

  • 可扩展三个字表面上的意思是XML允许自定义格式。但这不代表你可以随便写。
  • 在XML基本语法规范的基础上,你使用的那些第三方应用程序、框架会通过XL约束的方式强制规定配置文件中可以写什么和怎么写
  • XML基本语法这个知识点的定位是:我们不需要从零开始,从头到尾的一行一行编写XML文档,而是在第三方应用程序、框架已提供的配置文件的基础上修改。要改成什么样取决于你的需求,而怎么改取决XML基本语法和具体的XML约束。

1.1常见配置文件类型

1.properties.文件,例如druidi连接池就是使用properties.文件作为配置文件


2.XML文件,例如Tomcati就是使用XML文件作为配置文件\

XML 树结构 | 菜鸟教程
3.YAML文件,例如SpringBoot就是使用YAML作为配置文件 

1.2 DoM4J进行XML解析

 1.2.1 DoM4J的使用步骤
  • 1.导入jar包dom4jjar
  • 2.创建解析器对象(SAXReader
  • 3.解析xml获得Document对象
  • 4.获取根节点RootElement
  • 5.获取根节点下的子节点
1.2.2 D0M4J的API介绍

 1.创建SAXReader对象
        SAXReader saxReader = new SAXReader();
 2.解析XML获取Document对象:需要传入要解析的XML文件的字节输入流
        Document document = reader.read(inputStream);
 3.获取文档的根标签
        Element rootElement = documen.getRootElement()
 4.获取标签的子标签
        //获取所有子标签
        List<Element> sonElementList  = rootElement.elements();
        //获取指定标签名的子标签
        List<Element>sonElementList = rootElement.elements("标签名");

 二 TomCat10

2.1 WEB服务器   

 Wb服务器通常由硬件和软件共同构成。

  • ·硬件:电脑,提供服务供其它客户电脑访问
  • ·软件:电脑上安装的服务器软件,安装后能提供服务给网络中的其他计算机,将本地文件映射成一个虚拟的u地址供网络中的其他人访问。

常见的JavaWeb服务器:

  • Tomcat(Apache):当前应用最广的JavaWeb服务器
  • Jetty:更轻量级、更灵活的servlet容器
  • JBoss(Redhat红帽):支持JavaEE,应用比较广EJB容器->SSH轻量级的框架代替
  • GlassFish(Orcale):Oracle开发JavaWeb服务器,应用不是很广
  • Resin(Caucho):支持JavaEE,应用越来越广
  • Weblogic(Orcale):要钱的!支持JavaEE,适合大型项目
  • Websphere(IBM):要钱的!支持JavaEE,适合大型项目
     

 2.2 Tomcat安装

 Apache Tomcat® - Welcome!

选择版本10下载并解压

找到bin目录下,

shutdown.bat 关闭

statup.bat        Windows下打开tomcat

statup.sh        Linux下打开tomcat

浏览器输入 localhost:8080 验证打开成功

记事本打开 conf 目录下文件,将对应位置的UTF-8改为GBK

 

2.3 Tomcat目录及测试

apache-tomcat-l0.1.7这个目录下直接包含Tomcat的bin目录,conf目录等,我们称之为Tomcat的安装目录或根目录。

  •  bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat10.exe、tomcat10w,exe,前者是在控制台下启动Tomcat,后者是弹出GU川窗口启动Tomcat;,如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来停止Tomcat;
  • conf : 配置文件
  • lib : jar包
  • logs : 日志文件,可删除
  • temp :临时文件,可删除
  • webapps : 存放web项目
  • work : jsp相关,现在不常用了

配置环境变量,使其可以在dos中直接打开

在环境变量中新建环境变量,在Path中添加%CATALINA_HOME%\bin

默认端口号可更改

访问appwebs文件夹内文件

2.4 WEB项目的标准结构 


一个标准的可以用于发布的WEB领目标准结构如下

  • app本应用根目录
    •  static非必要目录,约定俗成的名字,一般在此处放静态资源(css js img)
    •   WEB-NF必要目录,必须叫WEB-NF,受保护的资源目录,浏览器通过u不可以直接访问的目录
      •   classes必要目录,src下源代码,配置文件,编译后会在该目录下,web项目中如果没有源码,则该目录不会出现
      •   lib  必要目录,项目依赖的jar编译后会出现在该目录下,web项目要是设有依赖任何jar,则该目录不会出现
      •   web.xml必要文件,web项目的基本配置文件,较新的版本中可以没有该文件,但是学习过程中还是需要该文件
             

2.5 WEB项目部署的方式

  • 方式1直接将编译好的项目放在webapifs目录下(已经演示)
  • 方式2将编译好的项目打成war包,放在webapps目录下,tomcat启动后会自动解压war包(其实和第一种一样)
  • 方式3可以将项目放在非webapps的其他目录下,在tomcat中通过配置文件指向app的实际磁盘路径 

 方式3

  

    

webapps文件夹中 文件夹

  

ROOT文件夹访问不需要加ROOT目录

  

manager、host-manager 打开需要账号和密码

        需要在conf文件夹下tomcat-user.xml 中加入下述信息

<role rolename="admin-gui"/>
    <role rolename="admin-script"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <user    username="admin"
            password="admin"
            roles="admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"
    />
 

  

2.6 IDEA中开发并部署运行WEB项目

 2.6.1 IDEA关联本地Tomcat 

    可以在创建项目前设置本地tomcat,,也可以在打开某个项目的状态下找到settings

   

1 建立tomcat和idea的关联
2 使用idea创建一个javaWEB工程在WEB工程中开发代码
3 使用idea将工程构建成一个可以发布的app
4 使用idea将构建好的app部署到tomcat中,启动运行

2.6.2 IDEA创建web工程 

推荐先创建一个空项目,这样可以在一个空项目下同时存在多个modules,不用后续来回切换之前的项目,当然也可以忽略此步直接创建wb项目

打开空项目

配置项目相关设置

在空项目下新建第一个模块,即第一个项目

为第一个项目添加组件

发现版本号太低了,换另一种方法

找到Project Structure 

添加tomcat

接着再找到 Add Frameworks Support 选择6.0版本 Web Application

成功后项目下会有web文件夹

项目下文件夹,结构

   resources 下放配置文件,此文件夹需要自己新建并配置属性才能和src文件夹下文件一起编译

src 文件夹下放java代码

resources 、src 编译后文件放入web 下WEB-INF中

web 下 lib文件夹需自己新建,放入 jar包 ,再右键选择Add as Library

将项目构建为可以发布的app并部署到tomcat中步骤如下(也可以直接点击运行idea会自动构建并在tomcat上部署)

将项目构建为可以发布的app

构建后生成out 文件夹,其中 demo01_web01_war_exploded 文件夹就是可发布的app

其中classes文件夹下即  src 、resources 文件夹下文件编译后的文件

将项目部署到tomcat上

选择本地

此处Application context 内容为网页访问地址名,可自定义,此处我改为web01,点击应用即可

此处open browser 表示默认打开的浏览器,HTTP port 表示端口号。

接着直接运行即可实现在tomcat上运行

其中运行后窗口乱码

找到conf文件夹下logging.properties 修改对应行的utf -8 改为GBK

2.6.3 Tomcat_IDEA使用Tomcat运行JavaWeb 原理

IDEA部署并运行项目的原理

  • idea并没有直接进将编译好的项目放入tomcat的webapps中
  • idea根据关联的tomcat,创建了一个tomcat副本将项目部暑到了这个副本中
  • idea的tomcat副本在C:用户\当前用户\AppData\Local JetBrains\IntelliJIdea2022.2\ tomcat\中
  • idea的tomcat副本并不是一个完整的tomcat,副本里只是准备了和当前项目相关的配置文件而已
  • idea启动tomcat时,是让本地tomcati程序按照tomcat副本里的配置文件运行
  • idea的tomcat副本部暑项目的模式是通过conf/Catalina/localhost/*.xml配置文件的形式实现项目部署的
     

三  HTTP 协议

3.1 HTTP简介

 HTTP超文本传输协议(HTTP-Hyper Text transfer protocol),是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过十几年的使用与发展,得到不断地完善和扩展。它是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。客户端与服务端通信时传输的内容我们称之为报文。HTTP协议就是规定报文的格式。HTTP就是一个通信规则,这个规则规定了客户端发送给服务器的报文格式,也规定了服务器发送给客户端的报文格式。实际我们要学习的就是这两种报文。客户端发送给服务器的称为"请求报文”,服务器发送给客户端的称为"响应报文"。

3.1.1发展历程

 HTTP/0.9

  • 蒂姆伯纳斯李是一位英国计算机科学家,也是万维网的发明者。他在1989年创建了单行HTTP协议。它只是返回一个网页。这个协议在1991任被合名为HTTP/0.9 

 HTTP/1.0

  • 1996年,HTTP/1.0发布。该规范是显署扩头,并且支持三种请求方法:GET,Head,和POST。
  • HTTP/1.0相对于HTTP/0.9的改进如下:
    • 每个请求都附加了HTTP版本。
    • 在响应开始时发送状态代码。
    • 请求和响应都包含HTTP报文头。
    • 内容类型能够传输HTML文件以外的文档。
  • 但是,HTTP/1.0不是官方标准。

HTTP/1.1 (目前大多数使用。tomcat默认使用http/1.1)

  • HTTP的第一个标准化版本HTTP/1.1(RFC2068)于1997年初发布,支持七种请求方法:OPTIONS,GET,HEAD,POST,PUT,DELETE,和TRACE
  • HTTP/1.1是HTTP1.0的增强:
    • 虚拟主机允许从单个P地址提供多个域。
    • 持久连接和流水线连接允许Wb浏览器通过单个持久连接发送多个请求。
    • 缓存支持节省了带宽并使响应速度更快。
  • HTTP/1.1在接下来的15年左右将非常稳定。
  • 在此期间,出现了HTTPS(安全超文本传输协议)。它是使用SSL/TLS进行安全加密通信的HTTP的安全版本。

HTTP/2

  • 由1ETF在2015年发布。HTTP/2旨在提高Web性能,减少延迟,增加安全性,使web应用更加快速、高效和可靠。
  • 多路复用:HTTP/2允许同时发送多个请求和响应,而不是像HTTP/1.1一样只能一个一个地处理。这样可以减少延迟,提高效率,提高网络吞吐量
  • 二进制传输:HTTP2使用二进制协议,与HTTP/1.1使用的文本协议不同。二进制协议可以更快地解析,更有效地传输数据,减少了传输过程中的开销和延迟。
  • 头部压缩:HTTP/2使用HPACK算法对HTTP头部进行压缩,减少了头部传输的数据量,从而减少了网络延迟。
  • 服务器推送:HTTP/2支持服务器推送,允许服务器在客户端请求之前推送资源,以提高性能。
  • 改进的安全性:HTTP/2默认使用TLS(Transport Layer Security)加密传输数据,提高了安全性。
  • 兼容HTTP/1.1:HTTP/2可以与HTTP/1.1共存,服务器可以同时支持HTTP/1.1和HTTP/2。如果客户端不支持HTTP/2,服务器可以回退到HTTP/1.1。

HTTP/3

  • 于2021年5月27日发布,HTTP/3是一种新的、快速、可靠且安全的协议,适用于所有形式的设备。HTTP/3没有使用TCP,而是使用谷歌在2012年开发的新协议QU1C
  • HTTP/3是继HTTP/1.1和HTTP/2之后的第三次重大修订。
  • HTTP/3带来了革命性的变化,以提高Web性能和安全性。设置HTTP/3网站需要服务器和浏览器支持。
  • 目前,谷歌云、Cloudflare和Fastly支持HTTP/3。Chrome、Firefox、Edge、Opera和一些移动浏览器支持HTTP/3。
3.1.2 HTTP协议的会话方式

 浏览器与服务器之间的通信过程要经历四个步骤

  • 浏览器与WEB服务器的连接过程是短暂的,每次连接只处理一个请求和响应。对每一个页面的访问,浏览器与WEB服务器都要建立一次单独的连接。
  • 浏览器到WEB服务器之间的所有通讯都是完全独立分开的请求和响应对。
     

3.1.3 HTTP1.0和HTTP1.1的区别

在HTTP1.0版本中,浏览器请求一个带有图片的网页,会由于下载图片而与服务器之间开启一个新的连接;但在HTTP1.1版本中,允许浏览器在拿到当前请求对应的全部资源后再断开连接,提高了效率。并且http1.1支持缓存,节省了带宽并使响应速度更快。。

 3.2 请求和响应报文

 3.2.1 报文的格式

 主体上分为报文首部和报文主体,中间空行隔开

报文部首可以继续细分为"行"和"头" 

3.2.2 请求报文

客户端发给服务端的报文

  • 请求报文格式
    • 请求首行(请求行);GET/POST 资源路径?参数HTTP/1.1
    • 请求头信息(请求头):
    • 空行;
    • 请求体;POST请求才有请求体


浏览器f12网络下查看请求数据包

form表单发送GET请求特点

  • 由于请求参数在请求首行中已经携带了,所以没有请求体,也没有请求空行
  • 请求参数拼接在ur地址中,地址栏可见[url?namel=value1&name2=value2],不安全
  • 由于参数在地址栏中携带,所以由大小限制地址栏数据大小一般限制为4k],只能携带纯文本
  • get请求参数只能上传文本数据
  • 没有请求体。所以封装和解析都快,效率高,浏览器默认提交的请求都是gt请求比如:地址栏输入回车,超链接,表单默认的提交方式
     

查看GET请求行,请求头,请求体

  • 请求行组成部分
    • 请求方式GET
    • 访问服务器的资源路径?参数1=值1&参数2=值2……
    • 协议及版本HTTP/1.1

GET /05_web_tomcat/login_success.html?username=admin&password=123213 HTTP/1.1

  • 请求头

-主机虚拟地址
Host:localhost:8080
-长连接
Connection:keep-alive
-请求协议的自动升级[http的请求,服务器却是httpsl的,浏览器自动会将请求协议升级为https的]
Upgrade-Insecure-Requests:1
-用户系统信息
User-Agent:Mozilla/5.0 (Windows NT 6.1;WOW64)AppleWebKit/537.36 (KHTML,like Gecko)Chrome/68.0.3440.75 Safari/537.36
-浏览器支持的文件类型
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
-当前页面的上一个页面的路径[当前页面通过哪个页面跳转过来的]:可以通过此路径跳转回上一个页面,广告计费,防止盗链
Referer:http://localhost:8080/05_web_tomcat/login.html
-浏览器支持的压缩格式
Accept-Encoding:gzip,deflate,br
-浏览器支持的语言
Accept-Language:zh-CN,zh;q=0.9,en-US q=0.8,en;q=0.7

  • 请求空行
  • 请求体
    • GET请求数据不放在请求体

form表单发送post请求特点

  1. POST请求有请求体,而GET请求没有请求体。
  2. POST请求数据在请求体中携带,请求体数据大小没有限制,可以用来上传所有内容文件、文本]
  3. 只能使用post请求上传文件
  4. POST请求报文多了和请求体相关的配置请求头]
  5. 地址栏参数不可见,相对安全
  6. post效率比get低
  • POST请求要求将form标签的method的属性设置为post

查看post的请求行请求头请求体

  • 请求行组成部分
    • 请求方式P0ST
    • 访问服务器的资源路径?参数1=值1&参数2=值2…
    • 协议及版本HTTP/1.1

POST /05_web_tomcat/login_success.html HTTP/1.1

  • 请求头

Host:localhost:8080
Connection: keep-alive
Content-Length: 31 -请求体内容的长度
Cache-Control: max-age=g-无缓存
Origin: http://localhost:8080
Upgrade-Insecure-Requests: 1- 协议的自动升级
Content-Type: application/x-www-form-urlencoded -请求体内容类型[服务器根据类型解析请求体参数]
User-Agent:  Mozilla/5.0 (Windows NT 6.1:WOW64) AppleWebKit/537.36 (KHTML,like  Gecko)Chrome/68.0.3440.75 Safari/537.36
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*q=0.8
Referer: http://localhost:8080/05_web_tomcat/login.html
Accept-Encoding: gzip,deflate,br
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: JSESSIONID-

  • 请求空行
  • 请求体:浏览器提交给服务器的数据

username=admin&password=1232131

3.2.3 响应报文 

 响应报文格式

  • 响应首行(响应行);协议/版本状态码状态码描述
  • 响应头信息(响应头);
  • 空行:
  • 响应体;

  • 响应行组成部分
    • 协议及版本 HTTP/1.1
    • 响应状态码 200
    • 状态描述 OK(缺省)

HTTP/1.1 200 OK

说明:响应协议为HTTP1.1,响应状态码为200,表示请求成功:

  • 响应头

Server:Apache-Coyote/1.1 服务器的版本信息

Accept-Ranges: bytes

ETag: W/°157-1534126125811"

Last-Modified: Mon,13 Aug 2018 02:08:45 GMT

Content-Type: text/html  响应体数据的类型[浏览器根据类型解析响应体数据]

Content-Length: 157 响应体内容的字节数

Date: Mon,13Aug2018g2:47:57GNT 响应的时间,这可能会有8小时的时区差

  • 响应体
<!-需要浏览器解析使用的内容[如果响应的是htm1页面,最终响应体内容会被浏览器显示到页面中]->
<DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
恭喜你,登录成功了
</body>
</html>

响应状态码:响应码对浏览器来说很重要,它告诉浏览器响应的结果。比较有代表性的响应码如下:

  • 200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
  • 302:重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Locatior指定新请求的UL地址;
  • 304:使用了本地缓存
  • 404:请求的资源没有找到,说明客户端错误的请求了不存在的资源;
  • 405:请求的方式不允许
  • 500:请求资源找到了,但服务器内部出现了错误;

更多的响应状态码

第五章 Servlet 

 一 Servlet简介 

 1.1动态资源和静态资源

 静态资源

  • 无需在程序运行时通过代码运行生成的资源,在程序运行之前就写好的资源.例如:html css js img,音频文件和视频文件

动态资源

  • 需要在程序运行时通过代码运行生成的资源,在程序运行之前无法确定的数据,运行时动态生成,例如Servlet,Thymeleaf..…
  • 动态资源指的不是视图上的动画效果或者是简单的人机交互效果

生活举例

  • 去蛋糕店买蛋糕
    • 直接买柜台上已经做好的:静态资源
    • 和柜员说要求后现场制作:动态资源

 1.2 Servlet简介  

Servlet(server applet)是运行在服务端tomcat的,ava小程序,是sun公司提供一套定义动态资源规范:从代码层面上来讲Servlet就是一个接口

  • 用来接收、处理客户端请求、响应给浏览器的动态资源,在整个wb应用中,Servlet主要负责接收处理请求、协同调度功能以及响应数据。我们可以把Servleti称为web应用中的控制器

  • 不是所有的JAVA类都能用于处理客户端请求,能处理客户端请求并做出响应的一套技术标准就是Servlet
  • Servlet是运行在服务端的,所以Servlet必须在WEB项目中开发且在Tomcati这样的服务容器中运行

请求响应与HttpServletRequest和HttpServletResponse之间的对应关系

...............更新中........................

标签:教程,HTTP,请求,tomcat,响应,1.1,浏览器,javaweb,JavaWeb
From: https://blog.csdn.net/qq_43668996/article/details/136906083

相关文章

  • 【图论 | 数据结构】用链式前向星存图(保姆级教程,详细图解+完整代码)
    一、概述链式前向星是一种用于存储图的数据结构,特别适合于存储稀疏图,它可以有效地存储图的边和节点信息,以及边的权重。它的主要思想是将每个节点的所有出边存储在一起,通过数组的方式连接(类似静态数组实现链表)。这种方法的优点是存储空间小,查询速度快,尤其适合于处理大规模......
  • python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了
    本文罗列了了python零基础入门到精通的详细教程,内容均以知识目录的形式展开。01.python由来与发展介绍02.项目开发流程第一章markdown编辑器01.markdown基本语法02.Typora简介与安装03.Windows上gitee+Typora设置图床04.macOS上gitee+Typora设置图床第二章计算机......
  • [计算机效率] 文件搜索工具:Listary(附详细使用教程)
    3.5文件搜索工具:ListaryListary是一款实用的搜索工具,它能为我的电脑(资源管理器)增添许多智能命令,提高用户日常收藏和整理文件的效率。它具备多种实用功能,例如收藏文件夹、快速打开最近浏览的文件夹,以及快速显示/隐藏文件扩展名等。此外,Listary还是一个轻量级的软件,不会过多......
  • “双碳”目标下资源环境中的可计算一般均衡(CGE)模型教程
    原文链接:“双碳”目标下资源环境中的可计算一般均衡(CGE)模型https://mp.weixin.qq.com/s?__biz=MzUzNTczMDMxMg==&mid=2247599079&idx=4&sn=82ea6c6f506cd20d1e0cd590faaa0611&chksm=fa820200cdf58b16dc5b79746901cc9a4048b46db584653058a14cc3afe7af31c76b239aef2e&token=12561......
  • Python之Web开发中级教程----中级教程成果下载
    Python之Web开发中级教程----中级教程成果下载到目前为止,中级教程已经完成。按照一步步的教程搭建虚拟机中的环境,包括内容如下:   Ubuntu操作系统搭建   Python配置   Redis安装配置   Python库中包括      Pip安装      Pyinstaller......
  • .NET Emit 入门教程:第五部分:动态生成方法(MethodBuilder 与 DynamicMethod)
    前言:当我们涉及到在运行时生成和定义方法时,便需要使用到C#中的两个关键类之一:MethodBuilder 或 DynamicMethod。这两者都属于反射(Reflection.Emit)的一部分,允许我们以动态的方式创建方法。两者各有侧重,使用方式大体相同,本篇文章我们先介绍MethodBuilder,再介绍DynamicMethod,......
  • RMAN详细教程
    原文出处:https://www.cnblogs.com/WoLykos/p/11585744.html 感谢作者分享一、target——连接数据库1、本地:[oracle@oracle~]$rmantarget/2、远程:[oracle@oracle~]$rmantargetsys/oracle@orcl二、show——查看配置RMAN>showall//总配置参数,具体看configur......
  • 保姆级教程:教你UniMRCP对接华为云ASR(Linux版)
    本文分享自华为云社区《unimrcp对接华为云ASR(Linux版)》,作者:ASR-beginer。本篇文章提供了unimrcp对接华为云ASR的保姆级教程,根据第一到四章,可从头逐步编译+集成基于华为云ASR的unimrcp系统(授人以渔)。同时,本文第五章(直接给条鱼)提供了作者修改好的源码,直接一键编译即可。一、安装u......
  • GPT-SoVITS教程,接入酒馆AI,SillyTavern-1.11.5,让AI女友声若幽兰
    本次分享一下如何将GPT-SoVITS接入SillyTavern-1.11.5项目,让让AI女友声若幽兰,首先明确一下,SillyTavern-1.11.5只是一个前端项目,它没有任何大模型文本生成能力,所以后端必须有一个api服务来流式生成对话文本,这里选择koboldcpp。首先看一下简单的项目运行架构图:这里SillyTavern作......
  • javaWeb项目-快捷酒店信息管理系统功能介绍
    开发工具:IDEA、Eclipse编程语言:Java数据库:MySQL5.7+框架:ssm、Springboot前端:Vue、ElementUI关键技术:springboot、SSM、vue、MYSQL、MAVEN数据库工具:Navicat、SQLyog项目关键技术 1、JSP技术JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。Ja......