Java EE

干货 | 一个架构师谈什么是架构,以及怎么成为架构师

穿精又带淫゛_ 提交于 2020-08-11 04:03:02
   正文   来点轻松的话题。我们调剂一下后再继续讲CAS SSO单点登录吧因为后面的内容全部和代码有关,大家会觉得枯燥。所以今天我们先来点”番外篇“,讲讲什么是架构师,什么是架构这个永恒的话题吧。此篇源出自我在公司内部写的一个PPT,它是用于在公司内部向广大技术人员做普及用的一个资料,而CSDN这边的编辑不支持图文混排的效果,因此一些章节我就直接截取自我的PPT里的内容了,这样可能对大家在阅读上会显得更加生动和活泼一些吧。    架构的定义   先来看看软件架构的普遍定义吧。   一个程序和计算系统软件体系结构是指系统的一个或多个结构。结构中包括软件的构建,构建的外部可见属性以及它们之间的相互关系。   体系结构并非可运行软件。确切的说,它是一种表达,使软件工程师能够:   分析设计在满足规定需求方面的有效性。   在设计变更相对容易的阶段,考虑体系结构可能的选择方案。   降低与软件构造相关联的风险。    软件架构的生命周期   软件开发有其生命周期,它应该是:      而软件架构也有着其生命周期,它又是怎么样的呢?       软件架构的重要性   为什么说一个软件架构是很重要的呢?直接编程直接开发,多EASY?请看下面几点:   软件架构能够满足系统的品质   架构设计使受益人达成一致的目标   架构设计能够支持计划编制过程   架构设计对系统开发的指导性  

第一课时:PowerDesigner15的基本介绍

瘦欲@ 提交于 2020-08-11 04:01:52
1.1.1.PowerDesigner 的基本内容 SAP Sybase PowerDesigner 官方定义: SAP SybasePowerDesigner 是针对 数据体系结构 、 信息体系结构 和 企业体系结构 的行业领先的建模和元数据管理 解决方案 。 包括内容: 内容 用户 企业流程建模( BPM ) 企业用户( CIO ,企业架构师,业务战略师、规划师)、需求分析人员、系统分析人员、软件架构师 数据建模 需求分析人员、系统分析人员、软件架构师、软件设计师、数据库管理人员 面向对象建模 需求分析人员、系统分析人员、软件架构师、软件设计师 PowerDesigner 强大的模型管理同步功能 管理员 发展历程: 最早由 中国人 王晓昀 完成编制 1989 - 在法国发布第一个商用版本 AMC*Designor( 版本 2.0) 1990-V2 ( CDM ,法语) 1991-V3 ( PDM ,英语) 1992 - 在美国发布第一个商用版本 S-Designor(V4 ,企业版 ) 1994-V5 (流程分析) 1995 -S-Designor 改名为 PowerDesigner 1996-V6 (支持 DB ) 1997 - 发布 PowerDesigner6.0 ( +DW ) 1999-V7 支持 UML 2000-V7.5 (知识库 Repository )

Eclipse常用操作

倖福魔咒の 提交于 2020-08-11 03:55:45
1.设置新建JSP文件默认编码 默认情况下,eclipse新建的jsp文件编码是,ISO-8859-1。在项目开发时通常会统一使用UTF-8,如何设置呢? Windows->Preferences->Web-> JSP Files 2.配置server Windows->show view->other->Servers打开Server配置终端 右键->new Server 3.配置注释自动生成 ,作者、时间等 Windows->Preference->Java->Code Style->Code Templates->Comments->Types-Edit /** * @author ${user} * @date ${date}${time} * @ClassName ${type_name} * ${tags} */ 4.设置各类文件的默认编码 通常都设置为UTF-8 Windows->Preferences->General->Content Types 来源: oschina 链接: https://my.oschina.net/guiguketang/blog/4313394

servlet个人见解

六眼飞鱼酱① 提交于 2020-08-11 03:13:07
servlet个人见解 我们通常使用servlet是用来连接前端跟后端做交互,servlet是用来处理来自前端的请求,并给出相应的数据。 我们可以先看servlet的源码 public class li implements Servlet { @Override public void init ( ServletConfig servletConfig ) throws ServletException { } @Override public ServletConfig getServletConfig ( ) { return null ; } @Override public void service ( ServletRequest servletRequest , ServletResponse servletResponse ) throws ServletException , IOException { } @Override public String getServletInfo ( ) { return null ; } @Override public void destroy ( ) { } } 我们首先在上面随便建立了一个类li实现了servlet接口,发现需要实现5个方法,说明servlet里面会有5个相应的方法,我们这时候打开servlet接口

开源HTTP解析器---http-parser和fast-http

假装没事ソ 提交于 2020-08-11 03:09:50
由于项目中遇到需要发送http请求,然后再解析接收到的响应。大概在网上搜索了一下,有两个比较不错,分别是 http-parser 和 fast-http 。 http-parser是由C编写的工具;fast-http是大部分移植自http-parser,用lisp语言编写的,不太适合目前的项目。fast-http介绍文档《 fast-http 》。 有一篇文章《 HTTP 协议解析库:fast-http 》介绍了fast-http,并且和http-parser进行了简单比较,结论是fast-http更快,快一倍。 另一个关于HTTP请求的简单介绍《 为你详细解读HTTP请求头的具体含意 》,可以作为背景知识简要阅读。 关于http-parser有一篇不错的实战文档《 【slighttpd】基于lighttpd架构的Server项目实战(7)—http-parser 》。 HTTP请求和响应格式 关于HTTP请求和响应的科普文档:《 HTTP请求和响应格式 》、《 HTTP请求格式和http响应格式 》、《 #HTTP协议学习# (一)request 和response 解析 》、《 HTTP协议详解 》。 Request格式 先看看请求纤细的结构,request消息分为3部分:Request line、Request header、Body。Request

SpringMVC源码学习:容器初始化+MVC初始化+请求分发处理+参数解析+返回值解析+视图解析

允我心安 提交于 2020-08-11 02:10:49
SpringMVC源码学习:容器初始化+MVC初始化+请求分发处理+参数解析+返回值解析+视图解析 目录 一、前言 二、初始化 容器初始化 根容器查找的方法 容器创建的方法 加载配置文件信息 MVC的初始化 文件上传解析器 区域信息解析器 handler映射信息解析 HandlerMapping的实现原理 HandlerExecutionChain RequestMappingHandlerMapping 三、请求响应处理 请求分发 请求处理 参数解析过程 传递页面参数 返回值解析 视图解析 视图解析器 视图 一、前言 版本: springMVC 5.0.2RELEASE JDK1.8 前端控制器的配置: web.xml 复制 <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <!--加载类路径下的配置文件--> <param-value>classpath:springmvc.xml</param-value> </init-param>

Mac OS X上的Java安装位置在哪里?

家住魔仙堡 提交于 2020-08-11 01:44:23
问题: I just downloaded Java 7u17 on Mac OS 10.7.5 from here and then successfully installed it. 我刚刚从下载在Mac OS 10.7.5的Java 7u17 这里 ,然后安装成功。 In order to do some JNI programming, I need to know where Java installed on my Mac. 为了做一些JNI编程,我需要知道在Mac上安装Java的位置。 I thought that inside the /Library/Java/JavaVirtualMachines/ folder, there would be a folder called 1.7.0.jdk or something, but then I found that the folder is empty. 我认为在 /Library/Java/JavaVirtualMachines/ 文件夹中,会有一个名为 1.7.0.jdk 的文件夹,但后来我发现该文件夹是空的。 This was confirmed by running ls /Library/Java/JavaVirtualMachines/ in the Terminal. 通过在终端中运行 ls

JPA和Hibernate有什么区别? [关闭]

痞子三分冷 提交于 2020-08-11 01:40:08
问题: I understand that JPA 2 is a specification and Hibernate is a tool for ORM. 我知道JPA 2是一个规范,而Hibernate是ORM的工具。 Also, I understand that Hibernate has more features than JPA 2. But from a practical point of view, what really is the difference? 另外,我了解到Hibernate具有比JPA 2更多的功能。但是从实际的角度来看,真正的区别是什么? I have experience using iBatis and now I'm trying to learn either Hibernate or JPA2. 我有使用iBatis的经验,现在我正在尝试学习Hibernate或JPA2。 I picked up Pro JPA2 book and it keeps referring to "JPA provider". 我拿起Pro JPA2书籍,并且一直指“ JPA提供者”。 For example: 例如: If you think a feature should be standardized, you should speak up

最新idea 2020.1最新激活教程,有效期到 2089 年!

对着背影说爱祢 提交于 2020-08-11 01:25:09
idea 2020.1是由捷克IntelliJ公司而打造的一款Java集成开发环境,常常会被java工程师用于javabweb、大数据等场景的开发,是众多工程师们优先选择使用的开发工具。该软件界面美观,操作方便,拥有丰富的导航查看模式,用户通过快捷键即可显示最近打开过的文件和类名查找框,拥有强大的编码辅助功能,用户无需任何输入就可以实现代码的自动生成,还支持XML、JSP、EJB、EJB、JavaDoc预览、程序员意图等等,让你编码得心应手,加快敲代码的效率。 当然,新版本的idea 2020.1与上个版本相比可是多了许多新特性,其中最大的特性当属于支持简体中文,用户安装完成后通过后续的补丁即可体验官方简体中文。除此之外,还新增了对Java 14的支持,用户现在可以使用全新的Java 14语法来编程,以及代码检查、LightEdit 模式、禅模式、数据流分析协助等十多项新功能,让你体验全新的编码方式。 注意:欢迎扫码文末公众号,回复“idea”获取下载链接,一起学习成长,回复“资源”获取更多资料 intellij idea 2020.1最新版 idea 2020.1安装教程 1、下载解压,得到IntelliJ IDEA2020.1原程序、和激活补丁; 2、双击“ideaIU-2020.1.exe”开始安装软件; 3、安装目录默认为C:\Program Files\JetBrains

weblogic 无文件 webshell 的技术研究

点点圈 提交于 2020-08-11 01:18:51
作者:宽字节安全 原文链接: https://mp.weixin.qq.com/s/euYuuI78oJhUHt9dVkomKA 本文为作者投稿,Seebug Paper 期待你的分享,凡经采用即有礼品相送! 投稿邮箱:paper@seebug.org 上篇文章中着重研究了tomcat的内存马以及实现方法。这篇文章主要研究了weblogic的内存马实现原理。在这里实现的原理与tomcat基本相同,同样使用动态注册Filter 的方式。下面分析一下weblogic在请求中是如何获取FilterChain。 以下分析基于 weblogic 12.2.1.4 0x01 weblogic FilterChain实现 创建一个Filter,随便打一个断点,观察此时的堆栈信息,如图 通过跟踪堆栈信息,我们可以找到,在wrapRun函数中,会判断系统中是否存在filter以及listener。如果存在,则获取FilterChain,然后依次调用Filter。原理与tomcat类似。相关代码如下 weblogic.servlet.internal.WebAppServletContext.ServletInvocationAction#wrapRun 函数 if (!invocationContext.hasFilters() && !invocationContext