Tomcat

Spring和SpringMvc详细讲解

懵懂的女人 提交于 2021-01-09 12:30:56
转载自:https://www.cnblogs.com/doudouxiaoye/p/5693399.html 1. 为什么使用Spring ? 1). 方便解耦,简化开发 通过Spring提供的IoC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。 2). AOP编程的支持 通过Spring提供的AOP功能,方便进行面向切面的编程,如性能监测、事务管理、日志记录等。 3). 声明式事务的支持 4). 方便集成各种优秀框架 5). 降低Java EE API的使用难度 如对JDBC,JavaMail,远程调用等提供了简便封装 2. 什么是IoC,为什使用IoC ? IoC全称Iversion of Controller,控制反转。 这概念是说你不用创建对象,而只需要描述它如何被创建。 你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之后一个容器(IOC容器)负责把他们组装起来。 它能指导我们如何设计出松耦合、更优良的程序。 3. 什么是AOP,为什么使用AOP ? AOP全称:Aspect-Oriented Programming,面向切面编程。 AOP,面向切面编程,就是把可重用的功能提取出来,然后将这些通用功能在合适的时候织入到应用程序中,比如 事务管理 、 权限控制 、 日志记录 、性能统计等。

校园宿舍管理系统

冷暖自知 提交于 2021-01-09 10:31:57
本实例为一个校园宿舍管理系统, 系统用户分为三个角色,系统管理员 , 楼宇管理员, 学生, 系统管理员可以应用对楼宇管理员的管理工作(增删改查), 学生的管理(增删改查), 楼宇管理(增删改查), 学生入住登记, 学生寝室调换, 学生迁出登记, 学生缺寝记录和迁出记录等的管理 【点击下载实例】 项目对应的实例代码可以通过右侧【下载实例】按钮获取 开发工具: MyEclipse10, JDK1.7, Tomcat7, MySql5.5.53 【项目包含内容】(见下图): 【sushe】 项目源码 【sushe.sql】 数据库脚本 【项目配置】 1. 将类DBHelper中的连接数据库信息修改为本地的数据库信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public class DBHelper { private String dbUrl= "jdbc:mysql://localhost:3306/sushe" ; private String dbUser= "root" ; private String dbPassword= "root" ; private String jdbcName= "com.mysql.jdbc.Driver" ; //连接数据库 public Connection getConn(){

百万级高并发技术整体架构

我只是一个虾纸丫 提交于 2021-01-09 08:04:51
高并发是由于应用系统(如:移动APP或网站等)即页面浏览量或点击量大,单台服务器无法承载大量访问所带来的压力,因此会采用服务器硬件集群技术,用N台服务器进行分流,对于每次访问采取负载均衡策略,被分配到不同的服务器来处理请求。 负载均衡种类 一种是通过硬件来实现,常见硬件有F5,A10,NetScaler、Radware和Array等商用的负载均衡器,但是它们是比较昂贵,成本比较高。 另一种是通过软件来实现,常见的软件有LVS、Nginx、Apache等,它们是基于Linux系统并且开源的负载均衡策略。 整体架构图: 架构说明: Keepalived :是用来 检测服务器的状态,如果有一台web服务器宕机,或工作出现故障时,Keepalived将会检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。 Keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。 LVS (Linux Virtual Server):即Linux虚拟服务器,有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR),十种调度算法(rr|wrr

【福利】性能测试资料大放送(二):进阶必读PDF

我只是一个虾纸丫 提交于 2021-01-09 07:12:52
昨天分享了 自己开的免费课 讲解视频和PPT,今天给大家送上第二波福利: 性能测试进阶必读书籍 ,目录如下: 1、图解HTTP 2、HTTP权威指南 3、Web性能测试实战 4、Web性能测试权威指南 5、软件性能测试知识体系 6、认清性能测试(中文版) 7、饿了么异地多活数据实施 8、JVM问题定位典型案例分析 9、编写高性能SQL语句注意事项 10、服务器端软件性能分析和诊断 11、百万级并发商品服务架构解密 12、Tomcat性能测试诊断分析与优化 13、软件性能测试过程详解与案例剖析 14、性能之巅: 洞悉系统、企业与云计算 15、零成本实现WEB性能测试: 基于Apache Jmeter 16、Linkedin-应用实时线上流量进行自动化容量测量与性能瓶颈分析 重要申明 :分享的PDF资料仅限个人学习,保存后请自行删除链接,强烈建议各位去各大电商网站购买正版纸质书籍!!! 获取方式 : 关注公众号,输入学习资料,即可免费获得PDF。 本文分享自微信公众号 - 工程师的自我修养之路(Engineer_Way)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net/u/3584238/blog/4361909

Ladon CVE-2020-1938跨网段、C段批量扫描内网漏洞

ぐ巨炮叔叔 提交于 2021-01-09 01:52:11
漏洞信息 根据国家信息安全漏洞共享平台(CNVD)20日发布的Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。 漏洞编号 cnvd-2020-10487 cve-2020-1938 漏洞条件 开放AJP端口(默认开放8009) 漏洞版本 apache tomcat 6 apache tomcat 7 < 7.0.100 apache tomcat 8 < 8.5.51 apache tomcat 9 < 9.0.31 扫描框架 Ladon设计的初衷就是一个多线程扫描框架,主要是为了让使用者能快速批量检测企业内部或外部站点漏洞 不管你擅长哪一门语言,只需要实现单一功能,都可以快速进行批量IP、批量URL、批量C段、批量B段等等 每当公开或泄露一个新漏洞时,自己要实现多现程以及批量以上功能,重写一份浪费时间,可能会错过时机 小内网可能自己写个批量IP.TXT就够用了,但是大的内网几百几千个网段就基本没有工具考虑,如批量C段 但是不要慌,无论是多线程,还是批量C段、跨网段等等,Ladon全都帮你考虑好了,只需实现单一功能即可

Tomcat9安装

旧时模样 提交于 2021-01-09 01:12:00
Tomcat9安装 1:首先到官网下载Tomcat9 https://tomcat.apache.org/download-90.cgi 下载完后解压到D盘如下: 2、右击我的电脑—属性—高级系统设置—环境变量, 在系统变量中添加以下变量 (1)TOMCAT_HOME,该变量指向解压文件的路径,该目录下有lib、bin等文件夹。添加方法如下: 点击环境变量下的“新建”,在“变量名”中填写“TOMCAT_HOME”,在“变量值”中填写解压文件的路径,   D:\tomcat9(后面没有分号)然后点击“确定”,如图 (2)CATALINA_HOME,该变量的值与TOMCAT_HOME相同,设置方法同(1),如图 (3)在“系统变量”中找到Path变量,双击打开Path变量,在“变量值”的最后面添加 %CATALINA_HOME%\bin (后面没有分号),如图 (4)在“系统变量”中找到CLASSPath变量,双击打开CLASSPath变量,在“变量值”的最后面添加 %CATALINA_HOME%\lib\servlet-api.jar (注:我的电脑是没有这个变量所以我自已建了一个变量) ​3、单击“开始”—“运行”,键入"cmd",在控制台输入service install Tomcat9, 在系统中安装Tomcat9服务项。 然后进入控制面板—系统和安全—管理工具—服务

Linux下javaweb项目jar包零基础部署(华为云ubuntu+jar+mysql+本地上传)

浪子不回头ぞ 提交于 2021-01-08 15:58:59
超详细! 华为云Linux下javaweb项目jar包零基础部署(华为云ubuntu+jar+mysql+本地上传) 服务器端 安装Mysql javajdk jar包 服务器端 作者用的是华为云鲲鹏弹性云服务器,操作系统选择的是Linux,后续操作连接就不再赘述了。 还是说一下吧 可以选择下载一个XShell然后登陆连接(连接方法总得会吧) 什么!!!!你这都不会 那我们不做了,咱ALT+F4然后打游戏去吧。 咱就直接控制台复制IP然后设置好的账号密码直接可以连接。 安装Mysql sudo apt-get install mysql-server -y # -y意思是默认一直选是 ,你也可以自己看着选项自己输Y/N 可能会用到的命令 启动服务 sudo service mysql start 重启服务 sudo service mysql restart 停止运行 sudo service mysql stop 查看状态 sudo service mysql status 以下是我服务器上用过的命令 安装好以后我们执行mysql_secure_installation 安全配置向导 根据提示输入Y/N(按照自己需求来操作) 如果也是用华为云机器: 输入 vim /etc/mysql/mysql.conf.d/mysqld.cnf 修改配置信息 (如图)

When Spring Boot app is deployed on tomcat gives 404 error

大城市里の小女人 提交于 2021-01-07 02:31:30
问题 Spring Boot application runs on embedded tomcat server when run it from Eclipse or intellij idea. But when deployed on external tomcat server it gives 404 error. 回答1: Make sure you have done below steps: Extends SpringBootServletInitializer @SpringBootApplication public class SpringBootWebApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(SpringBootWebApplication.class); }

【分享】软件测试--中间件介绍

断了今生、忘了曾经 提交于 2021-01-06 17:06:43
一、Tomcat 1、Tomcat概念 Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。 2、原理 Tomcat主要组件:服务器Server,服务Service,连接器Connector、容器Container。连接器Connector和容器Container是Tomcat的核心。 一个Container容器和一个或多个Connector组合在一起,加上其他一些支持的组件共同组成一个Service服务,有了Service服务便可以对外提供能力了,但是Service服务的生存需要一个环境,这个环境便是Server,Server组件为Service服务的正常使用提供了生存环境,Server组件可以同时管理一个或多个Service服务。 二、nginx 1、nginx简介 nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。 nginx的特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 2、nginx的特性与优点 1) nginx的特性 Nginx使用基于事件驱动架构

Java 中的 "弱" 引用是什么?

≯℡__Kan透↙ 提交于 2021-01-06 09:13:17
作者:telami 来源:www.telami.cn/2017/weak-reference/ Java里一个对象obj被创建时,被放在堆里。当GC运行的时候,发现没有任何引用指向obj,那么就会回收obj对象的堆内存空间。 换句话说,一个对象被回收, 必须满足两个条件: (1)没有任何引用指向它 (2)GC被运行。 在实际开发中,我们可以通过把所有指向某个对象的referece置空来保证这个对象在下次GC运行的时候被回收,类似下面: Object c = new Car(); c=null; 但是,这样做是一件很繁琐并且违背GC自动回收原则的事。对于简单的情况, 手动置空是不需要程序员来做的, 因为在java中, 对于简单对象, 当调用它的方法执行完毕后, 指向它的引用会被从栈中弹出, 所以它就能在下一次GC执行时被回收了。 但是, 也有特殊例外. 当使用cache的时候, 由于cache的对象正是程序运行需要的, 那么只要程序正在运行, cache中的引用就不会被GC(或者说, cache中的reference拥有了和主程序一样的life cycle). 那么随着cache中的reference越来越多, GC无法回收的object也越来越多, 无法被自动回收。当这些object需要被回收时, 回收这些object的任务只有交给程序编写者了。然而这却违背了GC的本质