Java EE

Solon 特性简集,相较于 Springboot 有什么区别?

旧巷老猫 提交于 2020-12-28 13:53:15
Solon 是一个类似Springboot的微型开发框架,也是一个不基于Servlet的开发框架。项目从2018年启动以来,参考过大量前人作品;历时两年,3500多次的commit;内核保持0.1m的身材,超高的Web跑分,良好的使用体验。 Solon 强调:克制 + 简洁 + 开放的原则;力求:更小、更快、更自由的体验。 所谓更小: 内核0.1m,最小Web开发单位0.2m(相比Springboot项目包,小到可以乎略不计了)。 具用户反映,某些项目切换到Solon后,可以缩减到原来10%的包大小。 所谓更快: 本机helloworld测试,启动最快可达0.09s,Qps可达12万之多。可参考:《 helloworld_wrk_test 》。 所谓更自由: 代码操控自由: // 除了注入模式之外,还可以按需手动 // //手动获取配置 String userName = Solon.cfg().get("user.name"); Properties dbcfg = Solon.cfg().getProp("db"); //手动获取容器里的Bean UserService userService = Aop.get(UserService.class); //手动监听http post请求 Solon.global().post("/user/update", x->

Solon 特性简集,相较于 Springboot 有什么区别?

坚强是说给别人听的谎言 提交于 2020-12-28 13:09:38
Solon 是一个类似Springboot的微型开发框架,也是一个不基于Servlet的开发框架。项目从2018年启动以来,参考过大量前人作品;历时两年,3500多次的commit;内核保持0.1m的身材,超高的Web跑分,良好的使用体验。 Solon 强调:克制 + 简洁 + 开放的原则;力求:更小、更快、更自由的体验。 所谓更小: 内核0.1m,最小Web开发单位0.2m(相比Springboot项目包,小到可以乎略不计了)。 具用户反映,某些项目切换到Solon后,可以缩减到原来10%的包大小。 所谓更快: 本机helloworld测试,启动最快可达0.09s,Qps可达12万之多。可参考:《 helloworld_wrk_test 》。 所谓更自由: 代码操控自由: // 除了注入模式之外,还可以按需手动 // //手动获取配置 String userName = Solon.cfg().get("user.name"); Properties dbcfg = Solon.cfg().getProp("db"); //手动获取容器里的Bean UserService userService = Aop.get(UserService.class); //手动监听http post请求 Solon.global().post("/user/update", x->

jwt

大兔子大兔子 提交于 2020-12-28 09:44:45
1. JWT是什么 JSON Web Token (JWT),它是目前最流行的跨域身份验证解决方案 2. 为什么使用JWT JWT的精髓在于:“去中心化”,数据是保存在客户端的。 3. JWT的工作原理 1. 是在服务器身份验证之后,将生成一个JSON对象并将其发送回用户,示例如下: {"UserName": "Chongchong","Role": "Admin","Expire": "2018-08-08 20:15:56"} 2. 之后,当用户与服务器通信时,客户在请求中发回JSON对象 3. 为了防止用户篡改数据,服务器将在生成对象时添加签名,并对发回的数据进行验证 4. JWT组成 一个JWT实际上就是一个字符串,它由三部分组成:头部(Header)、载荷(Payload)与签名(signature) JWT结构原理图:见资料“JWT的数据结构.jpg” JWT实际结构:eyJhbGciOiJIUzI1NiJ9. eyJzdWIiOiJ7fSIsImlzcyI6InpraW5nIiwiZXhwIjoxNTYyODUwMjM3LCJpYXQiOjE1NjI4NDg0MzcsImp0aSI6ImM5OWEyMzRmMDc4NzQyZWE4YjlmYThlYmYzY2VhNjBlIiwidXNlcm5hbWUiOiJ6c3MifQ.

JSP 简单入门

此生再无相见时 提交于 2020-12-28 09:33:42
JSP 页面是Web 程序的展示部分,既包括html代码,也可以运行后台代码,还有一些自己特定的处理方式。本质上也是一个Servlet。 1. 隐式对象 Servlet 容器会传递一些对象给Servlet,在jsp中可以通过隐式对象来访问Servlet 容器传递的几个对象,隐式对象如下: request:HttpServletRequest response:HttpServletResponse out:JspWriter session:HttpSession application:ServletContext config:ServletConfig pageContext:PageContext page:HttpJspPage exception:Throwable 如从HttpServletRequest 中获取username 的参数, < % String userName = request . getParameter ( "userName" ) % > 2. 指令 指令是JSP语法元素的第一种类型,它们指示JSP转换器如何翻译JSP页面为Servlet,JSP2.2定义了多个指令,但目前用的比较多的是page和include指令。 page:<%@ page … %>,一般用来导入包,<%@ page import=“java.util.Date”%>;

Java 模拟servlet执行、DTD约束、Schema约束、dom4j解析

旧城冷巷雨未停 提交于 2020-12-28 08:20:09
模拟servlet执行 浏览器请求WEB服务器上的资源,WEB服务器返回给浏览器 浏览器的入口不同(访问路径),访问的资源也不同。 我们需要使用xml约束(DTD或schema);为了获得xml的内容,我们需要使用dom4j进行解析。 XML(不同路径(/hello)执行不同的资源( HeIIoMyServlet)) XML可扩展的标记语言 标签可自定义的 包下创建xml 文件 new → other → XMLFile 粘贴web-app_ 2_ 3.dtd文件 复制web-app_ 2_ 3.dtd的文档声明到xml文件 存放数据 <?xml version="1.0" encoding="UTF-8"?> XML文档声明第一行 顶格写 versioin:XML版本encoding:文档的编码 默认utf-8: //加入Java开发交流君样:756584822一起吹水聊天 <school name="oracle" size="3"> 元素(不以XML,xml开头)一个根元素 <person> 属性值必须使用单引或双引 <name>张三<</name> 元素内容 转义符 写法与html相同 <age><![CDATA[18><]]></age>CDATA区<![CDATA[内容自动转义]]> <c/> 空元素 </person> <!--注释--> </school>

WildFly的学习

允我心安 提交于 2020-12-28 03:11:35
1. WildFly介绍: WildFly,前身是JBoss AS,从V8开始为区别于JBoss EAP,更名为WildFly. 由红帽 (Red Hat)开发,是另一个功能齐全且经过认证的应用服务器. Wildfly是一个开源的基于JavaEE的轻量级应用服务器。可以在任何商业应用中免费使用。 WildFly是一个灵活的、轻量的、强大管理能力的应用程序服务器。Wildfly是一个管理EJB的容器和服务器,但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。 特点 无与伦比的速度:快速启动,无限的网络性能和可扩展性。 非常的轻量级:瘦内存管理,运行时间可定制化。 强大的管理功能:统一的配置和管理。 下载安装 wildfly下载地址: https://wildfly.org/downloads/ 目前,最新版本是18.0.1.Final,选择“Java EE Full & Web Distribution”项对应的ZIP版本,点击下载即可。 安装java环境要求Java8或更高版本。下载好后, 直接解压, 放到一个目录下, standalone目录下存放的应用将单独占用进程,可单独启动和关闭,之间没有关联性。旗下有许多xml文件可供启动时选择。 domain目录下的应用之间有关联性,managing multiple

消息队列之 ActiveMQ

丶灬走出姿态 提交于 2020-12-27 00:55:09
摘要: 原创出处 https://juejin.im/post/5ad46f34518825651d08265c 「预流」欢迎转载,保留摘要,谢谢! 简介 ActiveMQ 特点 ActiveMQ 是由 Apache 出品的一款开源消息中间件,旨在为应用程序提供高效、可扩展、稳定、安全的企业级消息通信。它的设计目标是提供标准的、面向消息的、多语言的应用集成消息通信中间件。ActiveMQ 实现了 JMS 1.1 并提供了很多附加的特性,比如 JMX 管理、主从管理、消息组通信、消息优先级、延迟接收消息、虚拟接收者、消息持久化、消息队列监控等等。其主要特性有: 支持包括 Java、C、C++、C#、Ruby、Perl、Python、PHP 等多种语言的客户端和协议。协议包含 OpenWire、Stomp、AMQP、MQTT 。 提供了像消息组通信、消息优先级、延迟接收消息、虚拟接收者、消息持久化之类的高级特性 完全支持 JMS 1.1 和 J2EE 1.4规范(包括持久化、分布式事务消息、事务) 对 Spring 框架的支持,ActiveMQ 可以通过 Spring 的配置文件方式很容易嵌入到 Spring 应用中 通过了常见的 J2EE 服务器测试,比如 TomEE、Geronimo、JBoss、GlassFish、WebLogic 连接方式的多样化,ActiveMQ

Tomcat服务器

送分小仙女□ 提交于 2020-12-25 13:56:02
Tomcat服务器 IT那个小笔记 JavaEE规范 常见JavaWeb应用服务器 Tomcat下载与安装 web应用目录结构 使用开发工具构建web工程 Java规范 JavaEE的共有13个技术规范 JDBC:java数据连接,是一种用于执行SQL语句的Java API JNDI:Java命名和目录接口。 EJB:是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。 RMI:远程方法调用,能够让在某个java虚拟机上的对象调用本地对象一样的调用另一个java虚拟机中高的对象上的方法。 JSP:java服务器页面,是一个动态内容模板,实现了Html语法中的java扩展。 Servlet:Servlet是一种小型的Java程序,它扩展了Web服务器的功能。 XML:是一种可扩展的标记语言 JMS:是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。 Java IDL:Java IDL支持的是一个瞬间的CORBA对象,即在对象服务器处理过程中有效。 JTS:子主题 1组件事务监视器,TPM 是一个程序,它代表应用程序协调分布式事务的执行。 JTA:JTA允许应用程序执行分布式事务处理——在两个或多个网络计算机资源上访问并且更新数据。 JavaMail:提供给开发者处理电子邮件相关的编程接口

服务器Tomcat你会安装了吗?

非 Y 不嫁゛ 提交于 2020-12-25 13:34:16
Tomcat 是一个符合 JavaEE WEB 标准的最小的 WEB 容器 ,所有的 JSP 程序一定要有 WEB 容器的支持才能运行,而且在给定的 WEB 容器里面都会支持事务处理操作。   Tomcat 是由 Apache 提供的(www.apache.org),可以用安装版和解压版,安装版可以在服务中出现一 Tomcat 的服务,免安装没有,开发中使用免安装版。 Tomcat 简单的说就是一个运行 Java 的网络服务器, 底层是 Socket 的一个程序 ,它也是 JSP 和 Servlet 的一个容器。Tomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由 Apache、Sun和其他一些公司及个人共同开发而成。   由于有了 Sun 的参与和支持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现。因为 Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器 。   Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。 对于一个初学者来说,可以这样认为

Lazarus 黑客组织瞄准 COVID-19 进行恶意活动

和自甴很熟 提交于 2020-12-25 08:54:13
译者:知道创宇404实验室翻译组 原文链接: https://securelist.com/lazarus-covets-covid-19-related-intelligence/99906/ 前言 在跟踪Lazarus组织的活动时,我们发现他们最近瞄准了与COVID-19相关实体。9月底,他们袭击了一家制药公司。此外,他们还袭击了与COVID-19有关的政府部门。而且,每一次攻击都使用了不同的战术、技术和程序(TTP)。 在这篇文章中,我们讲述了两个不同的事件。 第一起事件是针对政府卫生部的攻击:2020年10月27日,卫生部的两台Windows服务器遭到破坏。我们无法识别感染媒介,但攻击者能够在这些服务器上安装一个复杂的恶意软件集。这个恶意软件集名为“wAgent”,它的主要组件只在内存中工作,并从远程服务器获取额外的有效负载。 第二起事件涉及一家制药公司。这家公司在2020年9月25日被入侵。这一次,Lazarus组织通过一家韩国软件公司在供应链攻击中部署了此前由ESET 报告 的Bookcode恶意软件。 wAgent恶意软件集 恶意软件集具有复杂的感染方案: wAgent恶意软件集的感染方案 不幸的是,我们无法获取此攻击中使用的启动程序模块。该模块使用特定的参数执行wAgent。我们收集到的其中一个wAgent样本有伪造的元数据,以使其看起来像合法的压缩实用程序 XZ