软件设计之JavaWeb(1)

软件设计之JavaWeb(1)

此篇应在MySQL之后进行学习:
路线图推荐:
【Java学习路线-极速版】【Java架构师技术图谱】
尚硅谷全新JavaWeb教程,企业主流javaweb技术栈
资料可以去尚硅谷官网免费领取
此章节最好学完JDBC观看

学习内容:

  1. XML概述
  2. Tomcat
  3. IDEA开发并部署运行WEB项目

XML概述

XML EXtensible Markup Language可扩展标记语言
Tomcat就是使用XML作为配置文件
在 XML 文件中,可以自定义标签名,是因为 XML 语言本身允许用户定义自己需要的标签。

<?xml version="1.0" encoding="UTF-8"?>
<!--
    1 根标签只能有一个
    2 第一行永远都是<?xml version="1.0" encoding="UTF-8"?>前面不能放任何东西
    3 xml是有约束,约束用于限定xml内部能编写的内容
        dtd约束   简单 上手快  约束不够细
        schema约束   复杂 上手慢 约束更细
-->
<jdbc>
    <dev>
        <username>root</username>
        <password>root</password>
        <driver>com.mysql.cj.jdbc.Driver</driver>
        <url>jdbc:mysql://localhost:3306/atguigu</url>
    </dev>
    <test>
        <username>zhangsan</username>
        <password>123456</password>
        <driver>com.mysql.cj.jdbc.Driver</driver>
        <url>jdbc:mysql://localhost:3306/atguigu</url>
    </test>
    <formal>
        <username>lisi</username>
        <password>654321</password>
        <driver>com.mysql.cj.jdbc.Driver</driver>
        <url>jdbc:mysql://localhost:3306/atguigu</url>
    </formal>
</jdbc>

DOM4J对XML进行解析

使用DOM4J步骤

在这里插入图片描述

番外1:类加载器获得指向字节码根路径下的指定文件

字节码根路径通常指的是在编译生成的字节码文件(如 .class 文件)存储的目录结构的根路径。
1、确定类路径:类加载器首先需要确定类路径,这是一个包含了所有类文件(字节码文件)的路径集合。
2、寻找类文件:类加载器根据类名和类路径寻找相应的字节码文件。类名以点(.)作为分隔符,而文件系统使用斜杠(/)。例如,类名 com.example.MyClass 对应于路径 com/example/MyClass.class
3、读取字节码:一旦找到字节码文件,类加载器会将其读取到内存中。这通常通过文件 I/O 操作实现。
4、定义类:类加载器使用读取的字节码来定义一个新的类对象

番外2:结点是什么东西?

node(节点)是指文档结构中的一个单元,它可以是以下几种类型:
Element(元素):XML 中的基本构建块,通常表示一个标签及其包含的内容。一个元素可以包含属性和其他元素。
Attribute(属性):属于元素的附加信息,以键值对的形式存储在元素的开始标签内。
Text(文本):元素内部包含的实际数据或内容,而非标签或属性。
Comment Node(注释节点):表示 XML 文档中的注释。
Processing Instruction Node(处理指令节点):用于包含处理指令,通常用于指示 XML 处理器如何处理文档。

代码

public class testDom4j {
    @Test
    public void testRead() throws  Exception{
        //读取jdbc.xml配置文件,获取document对象
        SAXReader saxReader = new SAXReader();
        //通过类加载器获得指向字节码根路径下的指定文件的输入流
        InputStream inputStream = testDom4j.class.getClassLoader().getResourceAsStream(("jdbc.xml"));
        //通过输入流获得配置文件,解析成一个dom文件
        Document document = saxReader.read(inputStream);
        //从document对象上获取配置文件的信息(根节点)
        Element rootElement = document.getRootElement();
        System.out.println(rootElement.getName());
        //获取子节点
        List<Element> elements = rootElement.elements();
        for (Element element : elements) {
            System.out.println(element.getName());
            //从子节点上获取attribute
            for (Object attribute : element.attributes()) {
                System.out.println(attribute);
            }
        }
    }
}

Tomcat

此教程下载的是Tomcat10,请提前下载好对应版本JDK(1.8版本以上),并配置好环境
运行startup.bat启动Tomcat,当出现乱码时,可以设置logging.properties文件代码中java.util.logging.ConsoleHandler.encoding = GBK
检验是否运行成功,(此时startup.bat不能关闭!)
如果需要直接在命令窗口执行startup.bat,需要配置Tomcat环境,具体创建一个CATALINA_HOME路径,并在path路径下添加%CATALINA_HOME%\bin(此步骤可跳过)

startup闪退问题

我这出现的主要是因为Java版本错了,补下了Java21,其中Java21是自动配置环境变量的,但是请还是要检查你的JAVA_HOME是不是还用的是老版本的,如果是,那么就改成新版本21的。
其他解决方案请点击此处

webapps文件夹

webapps文件夹用于部署WEB项目(存放其中)
http://localhost:8080/docs/浏览器输入这个地址对应的就是 webapps文件夹下的docs文件夹
其中上述的对应关系可以做更改,比如:上下文路径设置AAA对应部署目录下的examples
在这里插入图片描述

WEB项目的标准结构

app

app本应用根目录
static 非必要目录,一般在此处放静态资源(css js img)
WEB-INF 必要目录,且命名不能更改;受保护的资源目录,浏览器通过url不可以直接访问的目录
classes字节码根路径,存放java代码编译之后的文件
lib jar包的存放路径
web.xml当前项目的配置文件

在这里插入图片描述

URL的组成部分和项目中的资源对应关系

http:// 代表协议
127.0.0.1 IP 找到对应哪台电脑(服务器)
8080 端口号 找到服务器上的软件
app 上下文路径 找到webapps下的对应项目
index.html 项目资源

在这里插入图片描述

WEB项目部署的方式

1、直接将编译好的项目放在webapps目录下
2、将编译好的项目打成war包放在webapps目录下,Tomcat启动后会自动解压war包
3、可以将项目放在非webapps的其他目录下,在Tomcat中通过配置文件指向app的实际磁盘路径。其中path是可以更改为其他除“/app”之外的名称的,但是需要修改其他配置文件
在这里插入图片描述

IDEA开发并部署运行WEB项目

第一步:建立Tomcat和idea的关联
第二步:使用idea创建一个javaWeb工程,在该工程中开发代码
第三步:使用idea将工程构建成一个可以发布的app
第四步:使用idea将构建好的app部署到tomcat中,启动运行

在这里插入图片描述

IDEA关联Tomcat

在idea设置里面找到应用程序服务器(Application Servers)
在这里插入图片描述

构建Web工程

番外:怎么打开idea欢迎界面?
左上角File菜单选择Close Project 关闭当前项目即可
SDK和语言版本此处使用的是17,但是会遇到一个问题是,在添加框架支持时只能选择4.0的Web Application版本,这对于10.0的Tomcat是不满足的
解决方式:在项目结构-模块中添加给项目添加Tomcat,就能选择更高级的WebApplication版本了
如果本文讲的还不够细,可以参考视频P61

在这里插入图片描述
在这里插入图片描述

构建工程是在build中,选择构建工件,会生成一个out文件,这里面存放了Tomcat可以部署的项目文件

在这里插入图片描述

这里点击编辑配置
在这里插入图片描述
1、在配置中添加本地Tomcat服务器,并在部署内添加刚刚构建的工件,应用之后,点运行即可

在这里插入图片描述

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值