首页 > 编程语言 >软件设计之JavaWeb(1)

软件设计之JavaWeb(1)

时间:2024-09-08 11:51:05浏览次数:12  
标签:XML 文件 jdbc JavaWeb Tomcat 软件设计 路径 字节

软件设计之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服务器,并在部署内添加刚刚构建的工件,应用之后,点运行即可

在这里插入图片描述

标签:XML,文件,jdbc,JavaWeb,Tomcat,软件设计,路径,字节
From: https://blog.csdn.net/thm19990903/article/details/141993668

相关文章

  • Javaweb-数据库设计案例
    1.createtablemusic( idintPRIMARYkey, titlevarchar(32), aliasvarchar(32), imagevarchar(64), stylevarchar(8), typevarchar(4), mediumvarchar(4), publish_timedate, publishervarchar(16), numbertinyint, barcodebigint, summaryvarcha......
  • Javaweb-数据库设计-多表关系实现
    createtabletb_order( idintPRIMARYkeyauto_increment, paymentdouble(10,2), payment_typetinyint, statusTinyint);createtabletb_goods( idintPRIMARYkeyauto_increment, titlevarchar(100), pricedouble(10,2));createtabletb_order_goods(......
  • Javaweb-约束案例
    createtableemp( idintPRIMARYKEYAUTO_INCREMENT, enamevarchar(50)notnullunique, joindatedatenotnull, salarydouble(7,2)notnull, bonusdouble(7,2)default0);insertintoemp(id,ename,joindate,salary,bonus)values(1,'张三',�......
  • 基于Node.js+vue基于JavaWeb的在线英语学习管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着全球化进程的加速和互联网技术的飞速发展,英语作为国际通用语言的重要性日益凸显。然而,传统英语学习方式受限于时间、地点及教学资源等因素,难以满足广大......
  • Javaweb-DQL-条件查询
    select*fromstuwhereage>20;--1select*fromstuwhereage>=20;--2select*fromstuwhereage>=20andage<=30;--3select*fromstuwherehire_dateBETWEEN'1998-09-01'and'1999-09-01';--4select*fromstuwhere......
  • Javaweb-DQL-条件查询
    select*fromstuwhereage>20;--1select*fromstuwhereage>=20;--2select*fromstuwhereage>=20andage<=30;--3select*fromstuwherehire_dateBETWEEN'1998-09-01'and'1999-09-01';--4select*fromstuwhere......
  • 读软件设计的要素03概念的组合
    1. 概念的组合1.1. 概念不像程序那样,可以用较大的包含较小的1.1.1. 每个概念对用户来说都是平等的,软件或系统就是一组串联运行的概念组合1.2. 概念是通过操作来同步组合的1.2.1. 同步并不增加新的概念操作,但会限制已有的操作,从而消除一些独立概念可能会出现的操作序......
  • 【免费】springboot基于SringbootVue个人驾校预约管理系统--论文pf|毕业设计|Javaweb
    收藏点赞不迷路 关注作者有好处编号:springboot503springboot基于SringbootVue个人驾校预约管理系统--论文pf开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计这个环节需要......
  • 【免费】springboot航班进出港管理系统|毕业设计|Javaweb项目
    收藏点赞不迷路 关注作者有好处编号:springboot402springboot航班进出港管理系统--论文pf开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计   航班信息管理图5.1即为......
  • 面向对象开发重点摘要【软件设计师】
    文章目录前言一、面向对象基础1.1基本概念1.2面向对象开发流程二、UML2.1UML图的概念及分类2.2UML中的关系三、设计模式3.1设计模式分类汇总3.2创建型模式3.3结构型模式3.4行为型模式前言本文是在备考软考-软件设计师时编写的,为了记忆重点内容,内容较为简略,只是粗......