当前位置: 首页 > news >正文

公众号绑定网站教程外贸网站解决方案

公众号绑定网站教程,外贸网站解决方案,企业电子商务网站建设,建站平台一个站点的主页一般不会频繁变动#xff0c;而大多数用户在訪问站点时不过浏览一下主页(未登陆)。然后就离开了。对于这类訪问请求。假设每次都要通过查询数据库来显示主页的话#xff0c;显然会给server带来多余的压力。这时候我们能够将主页静态化。在减轻数据库server压力…一个站点的主页一般不会频繁变动而大多数用户在訪问站点时不过浏览一下主页(未登陆)。然后就离开了。对于这类訪问请求。假设每次都要通过查询数据库来显示主页的话显然会给server带来多余的压力。这时候我们能够将主页静态化。在减轻数据库server压力的同一时候又能大大提高主页高訪问速度。对于Java来说如今有非常多框架但是实现主页的静态化。事实上这并不难。我们也能够自己手动实现。思路例如以下首先编写一个小程序模拟浏览器向webserver发送GET请求。得到主页的HTML代码后将其保存到文件里。然后写一个过滤器拦截訪问请求。一旦发现訪问的是主页。那么就直接将保存好的静态HTML文件返回给client。这样就避开了框架(如 Spring MVC)更避开了数据库查询。假设主页内容发生了变化我们能够再执行一下小程序以得到最新的主页HTML代码。编写HTTPclient程序模拟浏览器这里我使用 apache 的 HttpClient 库编写这个小程序。例如以下例。我们通过向 http://locahost:8080/codeschool/ 发送GET请求来得到server返回的HTML代码/*** 向localhost:8080发送GET请求获取返回的HTML代码并保存到文件里* author whf**/public class Client {public static void main(String[] args) throws Exception {CloseableHttpClient httpclient HttpClients.createDefault();try {HttpGet httpGet new HttpGet(http://127.0.0.1:8080/codeschool);CloseableHttpResponse response httpclient.execute(httpGet);try {System.out.println(response.getStatusLine());HttpEntity entity response.getEntity();// entity封装了server返回的数据String html EntityUtils.toString(entity);// 将HTML代码写入到文件里saveContent(html, /home/whf/workspace-sts/codeschool/home.html);EntityUtils.consume(entity);} finally {response.close();}} finally {httpclient.close();}}/*** 将HTML写入到指定文件里** param html* param path 文件路径* throws IOException*/private static void saveContent(String html, String path) throws IOException {FileOutputStream fos new FileOutputStream(path);BufferedOutputStream bos new BufferedOutputStream(fos);bos.write(html.getBytes());bos.close();}}所需的 dependency 例如以下org.apache.httpcomponentshttpclient4.3.4运行一下该程序就会得到 home.html 文件。编写过滤器编写一个 url-pattern 为 /* 的 Filter 过滤器一旦发现用户訪问的是主页则直接返回上面生成的 home.html 文件关闭输出流。代码例如以下public class SecureFilter implements Filter {private static final Logger logger LoggerFactory.getLogger(SecureFilter.class);private ServletContext ctx;Overridepublic void destroy() {}Overridepublic void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {// 防止中文乱码request.setCharacterEncoding(UTF-8);HttpServletRequest req (HttpServletRequest) request;String path req.getRequestURI();// 请求的是资源。跳过if (true path.startsWith(/codeschool/resources)) {chain.doFilter(request, response);return;}// 用户未登陆// 用户訪问主页// 返回静态页面if (path.equals(/codeschool/) || path.equals(/)) {writeStaticHomePage(req, (HttpServletResponse) response);return;}chain.doFilter(request, response);}/*** 将静态主页返回给client** param req* param resp* throws IOException*/private void writeStaticHomePage(HttpServletRequest req,HttpServletResponse resp) throws IOException {// 返回静态化页面// 得到home.html路径String pagePath (String) ctx.getInitParameter(HOME_PAGE_PATH);if (logger.isDebugEnabled()) {logger.debug(主页静态页面路径:{}, pagePath);}// 将homt.html返回给clientServletOutputStream out resp.getOutputStream();FileInputStream pageInStream new FileInputStream(pagePath);BufferedInputStream bufInStream new BufferedInputStream(pageInStream);byte[] buf new byte[2048];int len 0;while ((len bufInStream.read(buf)) ! -1) {out.write(buf, 0, len);}bufInStream.close();out.close();}Overridepublic void init(FilterConfig cfg) throws ServletException {this.ctx cfg.getServletContext();}}能够在web.xml里配置 home.html 的路径HOME_PAGE_PATH/home/whf/workspace-sts/codeschool/home.html这样在我们在訪问主页的时候就能明显感觉到速度大大加快。
http://www.yutouwan.com/news/121361/

相关文章:

  • 创造你魔法官方网站起做欢的事在网站做博客
  • 做网站有名的公司明星个人flash网站源码
  • 泉州app网站开发价格wordpress添加会员标识
  • 网络建站免费网址建筑工程有限公司电话
  • 自己主机做标签电影网站银川网站建设公司
  • 东营住房与城乡建设部网站类似凡科建站的平台
  • 丹阳高铁站对面的规划网站备案后要做什么
  • 微商城系统网站模板请求php网站数据库
  • 上海建筑建材业网站迁移网站制作优质公司
  • 电脑可以做网站主机么学生怎样建设网站
  • 有没有一些帮做名片的网站六枝网站建设
  • 福永专业外贸网站建设公司做网站的优势有哪些
  • 适合学生做的网站类型企业服务有哪些内容
  • 营销网络的建设是什么意思兰州快速seo整站优化招商
  • 生态建筑建设公司网站全网营销型网站新闻
  • 苏州城乡建设局的网站做网站公司怎么找客户
  • 中国建筑装饰工程有限公司网页的优化与发布
  • 网站 多个ip 备案做网站的框架
  • 中信建设有限责任公司集采优化是企业通过网站来做吗
  • 有品质的网站推广公司深圳网站制作公司排名
  • 公司网站怎么自己做wordpress分类
  • 松花江避暑城建设网站网站白名单查询
  • 网站备案怎么查商丘网站建设
  • 如何建立本站站点360营销
  • 2018年怎么做网站排名赶集网网站建设分析
  • 小型网站制作做网站 超速云
  • 做餐饮系统网站建设融资平台有哪些
  • wordpress vps建站做网站怎么买断源码
  • 正规东莞网站建设邯郸做移动网站报价
  • 网站建设怎么设置权限页面设计费用