Java学习笔记(一)

U8采购入库单CO接口开发实战:加载、新增与删除操作详解 本文详细解析了用友U8采购入库单CO接口的开发实战,重点介绍了加载、新增与删除三大核心操作的实现方法。通过C#代码示例和实际项目经验,帮助开发者高效处理采购入库单,提升企业供应链管理效率。文章还涵盖了环境配置、异常处理、性能优化等关键技巧,适合U8二次开发人员参考。 阅读详情

从今天起开始每天书写Java的学习笔记,零零碎碎的写吧,改天系统的整理一下。
今天写一下Java的框架之一Struts2的学习笔记,因为项目需要今天重新拾起来了Struts2,从头开始学习比刚开始强多了。
要说框架那就不得不先提一下MVC机制:
MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而得到更好的开发和维护效率。在MVC模式中,应用程序被划分成了模型(Model)、视图(View)和控制器(Controller)三个部分。其中,模型部分包含了应用程序的业务逻辑和业务数据;视图部分封装了应用程序的输出形式,也就是通常所说的页面或者是界面;而控制器部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图为用户做出应答。MVC模式的这三个部分的职责非常明确,而且相互分离,因此每个部分都可以独立的改变而不影响其他部分,从而大大提
高了应用的灵活性和重用性。
(再次附上一些基础的概念:

  • 所谓框架:就是能完成一定功能的半成品软件。在没有框架的时候,所有的工作都要乖乖的从零做起;但是,有了框架,它为我们提供了一定的功能,就可以在框架的基础上做起了,大大提高开发的效率和质量。
  • web应用框架,这说明Struts2的应用范围是Web应用而不是其它地方。换句话说Struts2更注重将Web应用领域的日常工作和常见问题抽象化,为我们提供一个平台,让我们能基于这个平台快速的完成Web应用开发。
  • 轻量级:是相对于重量级而言,指的是Struts2在运行的时候,对Web服务器的资源消耗较少,比如CPU、内存等,但是运行速度相对较快。
  • 基于MVC,说明基于Struts2开发的Web应用自然就能实现MVC,同时也说明Struts2着力于在MVC的各个部分为我们的开发提供相应帮助。

所以称Struts2为一种基于MVC的轻量级的web应用框架。

)
在理解了MVC的概念之后我们再来看Struts2,首先Struts2提供了一种拦截机制,举个例子,消费者买菜,远古时期消费者从菜农手里直接买菜,很便宜,但是后来随着发展有了上商贩,商贩首先从菜农那里买了菜然后卖给了消费者,这样消费者变成了间接的买了菜。Struts2在此处相当于商贩,当前台的Action传送消息给后台的Servlet时,Struts2的拦截机制将该HttpServletRequest的消息给拦截了下来。进而对该消息进行处理,然后对其转发。这就是其主要的机制。
下面介绍一下Struts2的基本组成情况:WebWork与Struts合并之后,根据功能的细分和设计,拆分出一个叫xwork的部分,用来处理与Web无关的部分,也就是与Servlet无关的部分,比如:用户数据的类型转换、动作调用之前的数据验证、动作的调用等等。
Struts2功能:
Struts2能为我们带来什么?我们会这么问,下面将今天看的Struts2的功能贴在下面:
  • Struts2通过简单、集中的配置来调度动作类,使得我们配置和修改都非常容易。
  • Struts2提供简单、统一的表达式语言来访问所有可供访问的数据。
  • Struts2提供内存式的数据中心,所有可供访问的数据都集中存放在内存中,所以在调用中不需要将数据传来传去,大家都去这个内存数据中心访问即可。
  • Struts2提供在动作类执行的前或后附加执行一定功能的能力,能实现AOP。
  • Struts2提供标准的、强大的验证框架和国际化框架,而且与Struts2的其他特性紧密结合。

类似这样的功能很多,不胜枚举。

       在Struts2官方文档的首页上,Struts2开发团队列出了Struts2的一些优势,一起来看看:

  • 简单的建立 - 直接拷入自带的空项目(struts-blank.war)的各种配置即可。
  • 改进的设计 - 代码不直接依赖各种HTTP(如HttpServletRequest)的API。这样可以使得单元测试简单、高效。
  • 强大的标签 - 使用标签可以有效的减少页面代码。
  • 良好的ajax支持 - 增加了有效的、灵活的ajax标签,就像普通的标准struts标签一样。
  • 简单的spring集成 - 使用spring注入Action依赖的其他bean,而不需要额外的代码。
  • 强大的结果 - 除了简单的JSP或Freemarker等标签,还支持JasperReports, JFreeChart和文件下载等,使得这些技术就像在Struts2中内置一样,而不需要其他结合代码。
  • POJO(不实现特殊接口或继承特殊父类的普通对象)的forms - 不再有struts1的ActionForm。任何JavaBean都可以用来向Action传入或传出request的参数,甚至二进制的OutputStream等也可以。
  • POJO的Actions - Action也不用实现特定的接口或继承特殊的类了。甚至可以使我们的Action不经过修改,就可以被其他框架重用。
  • 简单的插件 - 简单的放入一个jar包,任何人都可以扩展struts2框架,而不需要什么特殊的配置。Struts2不再是一个封闭的框架,任何人都可以为其添砖加瓦,我们可以通过实现Struts2的某些特殊的可扩展点,比如自定义拦截器、自定义结果类型、自定义标签等等,就可以为Struts2定制我们需要的功能,而且还可以快速的发布给别人使用,就像Eclipse的插件机制一样,超酷。
  • 明确的错误报告 - Struts2的异常简单而明了,直接指出错误的地方。
  • 简单的Action测试 - 不需要模拟HTTP对象就可以直接测试struts2的action。这使得我们的单元测试非常方便。
  • 智能的默认 - 跳过了冗余的设置。很多框架级对象都有一个默认的值,可以根本不用去关心它们,使用其默认设置就可以完成95%的日常工作。




目标检测YOLO实战应用案例100讲-【目标检测】缺陷检测(二) 在工业生产中总是经常遇到裂痕、划痕等产品的表面缺陷问题,机器视觉行业对于表面检测相比前几年已经有很大的突破,对于产品表面的划伤、污迹等检测已经不再是难点。在金属、玻璃、手机屏幕、液晶板等行业表面检测上应用广泛。但由于该类缺陷形状不规则、深浅对比度低,而且往往会被产品表面的自然纹理或图案所干扰。因此,表面划痕缺陷检测对于正确打光、相机分辨率、被检测部件与工业相机的相对位置、复杂的机器视觉算法等要求非常高。 阅读详情

相关推荐

什么是PCIe Relaxed Ordering

什么是PCIe上的Relaxed Ordering呢?直接翻译的话就是宽松排序。在理解这个东西之前,需要先了解下什么是PCIe的基本事务排序法则。

qq_42824983的博客 1510

Java学习笔记一

Java之父:詹姆斯·高斯林1991年诞生,最初叫Oak (橡树),1995年改名为Java,英文翻译为印尼爪哇岛,地名,因盛产咖啡而闻名。package 包名;多级包用" . " 作为分隔符修饰符 返回值类型 方法名(形式参数列表) {方法体语句;修饰符:(final、static 视需求添加)publicprotected默认(不加修饰符)priavte返回值类型:基本数据类型(Java中八种)引用数据类型(String、数组、集合、类,等)void (不需要返回值类型)

qq_56822397的博客 1766

从零构建AI辅助逆向分析环境:JADX-MCP与LLM的实战集成指南

本文详细介绍了如何从零构建AI辅助逆向分析环境,通过集成JADX-MCP与LLM技术,提升Android应用逆向工程效率。文章涵盖环境搭建、插件安装、MCP服务器配置及实战案例分析,帮助开发者快速掌握AI在代码理解、漏洞挖掘和自动化文档生成中的应用。

weixin_27875131的博客 839

java学习笔记一

java学习笔记①:一个java文件中只能有一个公用class,必须和文件名同名 一个文件中可以有多个类,但只能有一个公用类 一个类编译后形成一个class文件的字节码 文件 classpath的作用:指明字节码文件的路径,可以在任何地方执行 注意:java中要注意区分大小写 类名:每个单词首字母都要大写,变量名:第一个单词首字母不大写,其他的单词首字母都大写,函数名和变量名一样 常量全大写(总体...

smilesever的博客 159

N5105核显直通PVE:从黑屏到HDMI输出的完整指南

PCI直通能让虚拟机独占物理设备,但核显直通远没有独显那么轻松。Intel核显与CPU、显示输出链路的强耦合使UEFI引导、GOP驱动、驱动签名等环节都成了黑屏陷阱。在PVE虚拟化环境中,通过IOMMU开启、vfio-pci绑定、OVMF固件和Q35机型配合,可以绕过KVM检测,让Windows虚拟机正确驱动核显,从HDMI口输出画面,并解锁Intel Quick Sync硬解能力。这种方案尤其适合N5105等低功耗迷你主机,可作为客厅HTPC、本地视频硬解或依赖硬件加速的轻量工作台。本文基于N5105平台

weixin_31082403的博客 374

基于STM32的智能衣柜系统开发实战(附完整源码与硬件设计)

本文详细介绍了基于STM32的智能衣柜系统开发实战,包括硬件设计、软件架构和云端功能实现。系统具备实时温湿度监控、自动加热除湿、紫外线杀菌等核心功能,通过STM32F103C8T6主控芯片和ESP8266无线模块实现智能控制。附完整源码与硬件设计,适合科技爱好者和开发者参考。

peach的博客 781

我的Java学习笔记(一)

我的Java学习笔记(一) 变量 变量 - 指代在内存中开辟的存储空间,用于存放运算过程中需要用到的数据; 1.变量在使用前,必须声明+初始化; 声明:类型 变量名 初始化:第一次赋值 2.同名变量不可以重复声明; 3.变量的命名规范:可以由字母、数字、"_“和”$"符组成;首字符不能以数字开头; 4.变量的命名规则:变量的命名需要采用“驼峰命名法”,即如果变量的名字由多个单词组成,除第一个单词外...

DTBIGhead的博客 228

国产数据库安装部署说明

国产数据库安装部署说明

weixin_38203586的博客 907

Java 学习笔记一 JAVA前言

JAVA前言1、JAVA的特点1)简单(Java语法是C++语法的一个"纯净"版本)2)可移植性(一次编译到处执行)3)面向对象4)分布式(Java把套接字连接等繁琐的网络任务变得非常容易)5)健壮性(Java编译器会检查出很多其他语言在运行时才检查出的错误;Java采用的指针模型可以消除重写内存和数据崩溃的可能)6)多线程(多线程编程的简单性是Java成为服务器端流行的开发语言的原因之一)7)安...

长安一片月的博客 293

matlab电子科技大学数学实验期末模拟35道(1)

【代码】matlab电子科技大学数学实验期末模拟35道。

c_wrj_的博客 2043

基于Matlab模拟六自由度Stewart并联机器人运动学逆解

在现代工业和科学领域中,机器人技术的发展已经取得了巨大的进步,为生产和研究提供了许多便利。其中,六自由度Stewart并联机器人是一种广泛应用于各种领域的机器人系统。它具有高精度、高刚度和高可靠性的特点,被广泛应用于飞行模拟器、手术机器人和运动仿真等领域。然而,要使Stewart并联机器人能够实现复杂的运动任务,我们需要了解其运动学逆解。运动学逆解是指根据机器人末端执行器的位置和姿态,计算出各个关节的角度和长度。这对于控制机器人的运动非常重要,因为它可以帮助我们确定机器人各个关节的运动范围和工作空间。

qq_59747472的博客 1127

Java学习笔记一——Java入门

Java小白初入门学习笔记

weixin_44806957的博客 260

QMK固件OLED显示屏配置教程:从零开始实现个性化键盘显示(实操部分)

本教程详细介绍了如何从零开始配置QMK固件的OLED显示屏,实现个性化键盘显示。首先,文章解释了OLED显示屏的基本概念及其在键盘中的应用,并介绍了I2C和SPI两种通信方式。接着,教程逐步指导用户如何在QMK固件中启用OLED功能,包括在rules.mk中启用OLED、在halconf.h和mcuconf.h中配置I2C功能,以及在config.h中设置I2C和OLED参数。最后,教程展示了如何在keymap.c中编写代码,实现OLED显示内容,并提供了进阶定制功能,如显示当前层信息、按键状态和QMK L

Despacito0o的博客 580

Java基础学习笔记一

目录名称说明bin该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。conf该路径下存放了JDK的相关配置文件。include该路径下存放了一些平台特定的头文件。jmods该路径下存放了JDK的各种模块。legal该路径下存放了JDK各模块的授权文档。lib该路径下存放了JDK工具的一些补充JAR包变量:在程序运行过程中,其值可以发生改变的量。从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化。数据类型 变量名 = 初始化值;

awxnn的博客 1303

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java学习笔记一JSP一

JSP和Servlet的本质是一样的,因为JSP最终必须编译成Servlet才能运行,或者说JSP 只是生成Serv let 的“草稿”文件。 DefaultServlet 新建一个动态web工程,只是写了一个HTML,没有编写Servlet,甚至一句Java代码都没写。但是启动Tomcat后我却可以通过浏览器访问到刚才编写的haha.html。这是为何?对于像Tomcat这样的Servlet容器...

肥叔菌的博客 9075

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java学习笔记 一

Java学习笔记

伶念的博客 264

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java 小白 学习笔记心得(一)

Java小白 学习笔记与心得 Java 小白 学习笔记心得(一) 本系列博客为学习JAVA后端的一系列笔记与心得。笔者作为初学者肯定会对很多问题仅有粗浅的见解甚至是错误的认识。若说的不对也请大家指出!作为Java语言的初学者,此博客是作为自己学习笔记作用,仅适合与完全没有接触过Java的小白一起学习的。各位Java大佬们,请避开此博客,以免浪费时间。 标识符 什么是标识符? 在java源程序设...

qq_40892813的博客 407

Java小白学习笔记(一)

(杂乱( • ω • )……) 关于在命令行中的指令: javac HelloWorld.java java HelloWorld javadoc *.java 在文件夹中,点击文件index.html。 文档注释:/** */ 输入: 接收键盘输入的工具类: import java.util.Scanner; ...

fumeifu的博客 226

java学习笔记(一)

进来没事总在看韩顺平老师的视频,受益匪浅,下面就来总结下他的java

weixinhum 1149

《JAVA核心技术》卷一 学习笔记

《JAVA核心技术》卷一 学习笔记 scanner读取文件时的一些问题 读取命令: Scanner in = new Scanner(Paths.get("test_text.txt"),"UTF-8"); 但一开始遇到了一些问题,开始时测试文件的相对路径与java文件在同一目录下,报错。 Exception in thread "main" java.nio.file.NoSuch...

weixin_41521186的博客 242

Java学习笔记(一)之JAVA 快速入门

本文介绍了Java学习的基础入门内容,主要包括三部分:Java环境搭建、第一个Java程序的编写运行、以及变量与数据类型的基础知识。

bewhyw的博客 984

JAVA学习笔记(一)

随便写写的,嘿嘿。

qq_56051596的博客 621
上一篇: Eclipse开发C/C++程序的配置方法.(ZT)
下一篇: java中文转unicode码
轻鸿飘羽
博客等级 码龄16年 124粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值