页面静态化技术的实现

来源:互联网 发布:结束单身 知乎 编辑:程序博客网 时间:2024/06/09 02:27

页面静态化技术的实现

以前自己开发的作业提交系统,存在同学们首页打开缓慢的情况。

今天思考了下,一直知道原因,最主要的原因就是每次打开首页,都需要去数据库查询数据,这会给用户很不好的体验。

动态首页

  1. jsp动态解析,增加了数据加载时间
  2. 页面静态化处理

解决方案:在数据没有(增删改)的情况下,页面是内容是没有变化的。

故我想去把此网页的内容抓取到,在有增删改的情况下触发方法更新一下重新生成静态HTML文件。

//此方法获取你想要静态化jsp页面的页面文本内容public static String getContent(){//创建客户端对象DefaultHttpClient client=new DefaultHttpClient();//请求方式及初始化请求地址HttpPost post=new HttpPost("http://127.0.0.1/task/index.jsp");HttpResponse response=null;try {//执行请求并得到反应对象response=client.execute(post);//返回结果进行转字符串(得到了动态网页的文本内容)result=EntityUtils.toString(response.getEntity(),"UTF-8");} catch (ClientProtocolException e) {//客户端协议异常e.printStackTrace();} catch (IOException e) {//IO异常e.printStackTrace();}return result;}

故我想到了在触发内容修改是才写入html文件,写入方法为:

public  void indexStatic() throws IOException{//获取到jsp网页文本内容String html = HttpUtil.getContent();//得到项目文件路径String path =System.getProperty("user.dir");//从bin文件夹回退path=path.substring(0, path.length()-3);//创建文件准备File file = new File(path+"/webapps/task/index.html");if (!file.exists()) {try {file.createNewFile();} catch (IOException e) {e.printStackTrace();System.out.println("文件创建失败");}}OutputStreamWriter fos=null;try {//创建输出流,准备输出文件,UTF-8编码保证中文不乱吗fos = new OutputStreamWriter(new FileOutputStream(file),"UTF-8");fos.write(html);} catch (FileNotFoundException e) {e.printStackTrace();}finally{//关闭流对象fos.close();}}

自动默认打开index.html,减轻数据库压力的同时,提升访问速度

静态化首页

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 购物车满了怎么办 手机程序无响应怎么办 三星手机无响应怎么办 游戏无响应了怎么办 手机百度无响应怎么办 新手机响应慢怎么办 vivo手机无响应怎么办 vivo软件无响应怎么办 退货商家不处理怎么办 淘宝页面变小了怎么办 淘宝卖家让微信交易被骗怎么办 苹果下载特别慢怎么办 淘宝没有支付宝怎么办 淘宝买东西限购怎么办 淘宝被别人登录怎么办 淘宝被厂家投诉怎么办 买家退货说是假货怎么办 同行给差评怎么办 被买家举报了怎么办 淘宝商品被屏蔽怎么办 电脑处于离线状态怎么办 计算机处于离线状态怎么办 交易猫安全提醒怎么办 网吧进游戏代码怎么办 车票冲突买不了怎么办 苹果8淘宝打不开怎么办 我的淘宝打不开怎么办 福袋不支持退货怎么办 不支持跨区下单怎么办 支付宝被占用怎么办 淘宝东西失效了怎么办 访客突然下降了怎么办 淘宝店铺广告违规怎么办 苹果手机网速差怎么办 支付宝账号忘记怎么办 支付宝无法登录怎么办 什么是淘宝空间不足怎么办 支付宝授权失败怎么办 买家旺旺被打标一次怎么办 淘宝网上忘记密码怎么办 登淘宝忘记密码怎么办