`
fuerbosi
  • 浏览: 464851 次
文章分类
社区版块
存档分类
最新评论

Java高并发:静态页面生成方案

 
阅读更多

提升网站性能的方式有很多,例如有效的使用缓存,生成静态页面等等。今天要说的就是生成静态页面的方式。这个也是我近期一直在搞的一个问题,近期在做使用html + servlet做个人网站,为什么是这2个东西呢?

  1、直接用servlet是为了保证网站能以最快的速度执行命令个人总感觉像Struts hibernate spring之类的虽然方便但是效能带来的损耗不太能接收

  2、使用html同样是为了保证最快的反应速度,毕竟html 比jsp少了一层服务器执行。速度上要快的多

  一、在这里要先说一下什么是页面静态化:

  简单的说,我们如果访问一个链接 ,服务器对应的模块会处理这个请求,转到对应的jsp界面,最后生成我们想要看到的数据。这其中的缺点是显而易见的:因为每次请求服务器都会进行处理,如果有太多的高并发请求,那么就会加重应用服务器的压力,弄不好就把服务器 搞down 掉了。那么如何去避免呢?如果我们把对 test.do 请求后的结果保存成一个 html 文件,然后每次用户都去访问 ,这样应用服务器的压力不就减少了?

  那么静态页面从哪里来呢?总不能让我们每个页面都手动处理吧?这里就牵涉到我们要讲解的内容了,静态页面生成方案… 我们需要的是自动的生成静态页面,当用户访问 ,会自动生成 test.html ,然后显示给用户。

  二、下面我们在简单介绍一下要想掌握页面静态化方案应该掌握的知识点

  1、 基础- URL Rewrite

  什么是 URL Rewrite 呢 ? URL 重写。用一个简单的例子来说明问题:输入网址 ,但是实际上访问的却是 abc.com/test.action,那我们就可以说 URL 被重写了。这项技术应用广泛,有许多开源的工具可以实现这个功能。

  2、 基础- Servlet web.xml

  如果你还不知道 web.xml 中一个请求和一个 servlet 是如何匹配到一起的,那么请搜索一下 servlet 的文档。这可不是乱说呀,有很多人就认为 /xyz/*.do 这样的匹配方式能有效。

  如果你还不知道怎么编写一个 servlet ,那么请搜索一下如何编写 servlet.这可不是说笑呀,在各种集成工具漫天飞舞的今天,很多人都不会去从零编写一个 servlet了。

  三、基本的方案介绍

  其中,对于 URL Rewriter的部分,可以使用收费或者开源的工具来实现,如果 url不是特别的复杂,可以考虑在 servlet 中实现,那么就是下面这个样子:

10类最急需IT人才:Java开发者居首海量Java教程、学习资料和源码

海量Android教程、开发资料和源码从IT菜鸟变为“IT骨干开发者”的11个建议

程序员发展应该尽早明白13个道理程序员编程技术迅速提高的终极攻略

2011年中国百万开发者大调查:程序员的薪水不错为程序开发人员量身定制的12个目标

老程序员的忠告:不要做浮躁的软件工程师2012年全国各省平均工资排行

2012年世界500强,大陆香港台湾上榜名单(79家真的事实:大多程序员有“懒基因”

2012年中国各省市GDP和人均GDP排名名单美国知名科技公司入门级软件工程师的薪水排名

成为Android高手需要经过的六个阶段和6个境界海量Linux学习教程和开发资料

成为Android高手必须掌握的28大项内容和10个建议海量C、C++、VC++教程、源码和开发资料

71道经典Android面试题和答案--重要知识点都有Java高手需要越过的10座高山

2012四月发布的世界各国人均GDP排名,中国超泰国老程序员的反省和总结:给IT新兵的15个建议

90后就业“钱景”:IT仍是最佳选择如何成就一名“高级”程序员?

长时间操作电脑需要养成的几个好习惯周立功谈嵌入式:我的25年嵌入式生涯

高校应届毕业生“IT业”收入最高,Android技术最热门回顾Java经过的风风雨雨

成为Java高手的25个学习目标--非常经典IT技术开发人员获得成功的六大步骤

分享到:
评论

相关推荐

    Java高并发:静态页面生成方案--UrlRewrite

    优点 一:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面. 二:美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己...

    Java高并发高性能分布式框架从无到有微服务架构设计(1).doc

    Java高并发高性能分布式框架从无到有微服务架构设计 微服务架构模式〔Microservice Architect Pattern〕.近两年在服务的疯狂增长与云计算技术的进步,让微服务架构受到重点关注 微服务架构是一种架构模式,它提倡将...

    高性能高并发服务器架构

    高并发的解决方法有俩种,一种是使用缓存、另一种是使用生成静态页面;还有就是从最基础的地方优化我们写代码减少不必要的资源浪费:( 1.不要频繁的new对象,对于在整个应用中只需要存在一个实例的类使用单例模式....

    Java思维导图xmind文件+导出图片

    高并发下的服务降级、限流实战 基于分布式架构下分布式锁的解决方案实战 分布式架构实现分布式定时调度 分布式架构-中间件 分布式消息通信 消息中间件在分布式架构中的应用 ActiveMQ ActiveMQ高可用集群企业...

    Java产生随机数的两种方式

    在java中,我们可以通过两种方式来获取随机数(generating a random number)一种是大家熟悉的java.lang.Math.Random()静态方法,另一种是创建java.util.Random对象。本文介绍了两种方法的使用过程。

    2小时候学会SpringBoot整合Thymeleaf生成静态页面

     课程目标: - 了解Thymeleaf的基本使用 - 实现商品详情页的渲染 - 知道页面静态化的作用 - 实现页面静态化功能 - 使用线程池实现静态页面生成 现在,我们的页面是通过Thymeleaf模板引擎渲染后返回到客户端。...

    java随机数

    ThreadLocalRandom也比其他任何处理高并发的方法要更快。 经验 Chris Marasti-Georg 指出: 1.Math.round(Math.random() * 10) 使分布不平衡,例如:0.0 - 0.499999将四舍五入为0,而0.5至1.499999将四舍五入为1。...

    精通并发与netty 无加密视频

    第31讲:gRPC在Nodejs领域中的静态代码生成及与Java之间的RPC调用 第32讲:IO体系架构系统回顾与装饰模式的具体应用 第33讲:Java NIO深入详解与体系分析 第34讲:Buffer中各重要状态属性的含义与关系图解 第35...

    精通并发与 netty 视频教程(2018)视频教程

    gRPC双向流式数据通信详解 28_gRPC与Gradle流畅整合及问题解决的完整过程与思考 29_Gradle插件问题解决方案与Nodejs环境搭建 30_通过gRPC实现Java与Nodejs异构平台的RPC调用 31_gRPC在Nodejs领域中的静态代码生成及...

    java面试800题

    Q0043 java相关概念 "static:静态,无需实例化,可直接引用,全局只有一份copy,修饰变量和方法 final:最终的,不可继承、不可修改,修饰变量、方法、类 volatile:volatile变量表示保证它必须是与主内存保持一致,...

    网络架构师148讲视频课程

    java架构师148讲视频教程 │ ├─1-148视频教程 │ 第01节:整体课程概览.flv │ 第02节:分模块、分工程管理.avi │ 第03节:多模块多Web应用合并War包.avi │ 第04节:Git基本原理和安装配置使用.avi │ 第05节...

    java大作业设计报告-JAVA聊天室.doc

    JAVA程序设计 多人聊天室 设计目的 Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高 性能、多线程和静态的语言。本次课程设计旨在应用JAVA编程语言中的网络通信,多线 程,...

    精通并发与netty视频教程(2018)视频教程

    31_gRPC在Nodejs领域中的静态代码生成及与Java之间的RPC通信 32_IO体系架构系统回顾与装饰模式的具体应用 33_Java NIO深入详解与体系分析 34_Buffer中各重要状态属性的含义与关系图解 35_Java NIO核心类源码解读与...

    【spring-boot-seckill分布式秒杀系统 v1.0】从0到1构建的java秒杀系统源码+安装说明

    1、前端优化:活动开始前生成静态商品页面推送缓存和CDN,静态文件(JS/CSS)请求推送至文件服务器和CDN。 2、网络优化:如果是全国用户,最好是BGP多线机房,减少网络延迟。 3、应用服务优化:Nginx最佳配置、Tomcat...

    JTopCms站群内容管理系统 v3.0.rar

    内容静态化发布,不但支持生成html,更可通过生成shtml方式,精确控制页面局部静态化,最大限度提高站点并发访问性能以及可维护性。 3.内容模型自定义支持 支持自定义模型功能,内置完善的字段类型,所定义字段还...

    Spring攻略(第二版 中文高清版).part2

    11.6 为一个应用的领域类生成CRUD控制器和视图 454 11.6.1 问题 454 11.6.2 解决方案 454 11.6.3 工作原理 455 11.7 国际化(I18n)信息属性 458 11.7.1 问题 458 11.7.2 解决方案 458 11.7.3 工作原理...

    Spring攻略(第二版 中文高清版).part1

    11.6 为一个应用的领域类生成CRUD控制器和视图 454 11.6.1 问题 454 11.6.2 解决方案 454 11.6.3 工作原理 455 11.7 国际化(I18n)信息属性 458 11.7.1 问题 458 11.7.2 解决方案 458 11.7.3 工作原理...

    javapms门户网站源码

    Java语言之所以受人推崇,是因为它确实称得上是一种新一代编程语言,具有面向对象、可移植性好、与硬件无关、系统强健安全、提供了并发机制、性能高的众多优点,并提供了分布性、多线程、动态性的支持。 Java作为一...

    2小时快速上手Freemarker电商项目商品详情页静态化

    本课程全程使用目前比较流行的开发工具idea进行开发,涉及到目前互联网项目中最常用的高并发解决方案技术, 如  dubbo,redis,solr,freemarker,activeMQ,springBoot框架,微信支付,nginx负载均衡,电商活动秒杀,spring...

    JAVA核心知识点整理(有效)

    25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................

Global site tag (gtag.js) - Google Analytics