文档章节

个人官网第6次升级,艰难地完成了,有史以来最难的一次

FansUnion
 FansUnion
发布于 2015/10/22 10:29
字数 918
阅读 8
收藏 0
点赞 0
评论 0

本次升级,非常难,遇到了各种问题,稍后再总结分享。

主要解决了几类问题:手机适配等兼容性问题、修复若干bug、用户体验晚上、新功能,比如文章搜索。

  1. 手机访问适配。

2.增加文章栏目的全文检索。

3.文章评论,问答等栏目,优先显示用户的昵称nickname,如果没有显示用户名username,如果没有,显示默认的匿名用户名称“无名”。

4.登录跳转更友好。

   直接访问某个需要登录的url,比如/addArticle,可能会跳转到登录页面login.html。

   登录成功之后,自动跳转到/addArticle这个登录前的页面,继续登录之前的操作。

5.后端代码手动加log,系统内部手动日志与第三方及系统错误日志分离,在代码中多记录一些日志,方便查看系统的稳定性和修正潜在bug。

6.登录之后,显示用户名,增加注销功能。

7.Sitemap网站地图生成进一步封装,BriefCMS系统也可以使用工具方法。

   写代码的时候,对每一个功能要有适当的分解。与业务无关的逻辑,完全可以提取抽象成工具方法。

    生成网站地图,数据是和具体的网站紧密耦合的,而构造xml和任何网站都没有关系。把数据提取和组装代码,放在具体的网站项目。

    而根据标准数据,生成sitemap.xml单独提取成工具方法。

    这样,小雷FansUnion官网和BriefCMS2个网站都可以使用了,节省了代码。

 今后有再多的网站,都可以这么做,换成任何语言,思路都可以这么做。

8.问道雷答的回答和文章的评论,增加详情页面,SEO优化。

9.优化菜单,不常用的折叠成一个“更多”,同时解决了小屏幕下,菜单换行遮住下方正文的问题。

   正文内容宽度缩小,最多只占8/12的宽度。

10.解决部分详细页面出现js访问404的问题。

   比如http://fansunion.cn/ask/detail/100077.html

11.再次解决了百度UEditor图片无法上传的问题。

  把百度源码从项目中删除了,需要把jar包拷贝到lib目录。

12.不再使用SpringMVC的ContentNegotiatingViewResolver,因为我发现百度和360等搜索引擎收录了很多JSON格式的内容。

   比如“http://fansunion.cn/service

{"page":{"totalCount":5,"totalPage":1,"pageNo":1,"pageSize":10,"orderBy":null,"order":null,"params":{},"rows":[{"content":" 拜小雷为师,...

fansunion.cn/service 2014-11-13  - 百度快照 - 评价 - 翻译此页”

“http://fansunion.cn/code

{"page":{"totalCount":7,"totalPage":1,"pageNo":1,"pageSize":10,"orderBy":"id","order":"desc","params":{},"rows":[{"content":" SSH框架...

fansunion.cn/code 2014-11-16  - ”


“http://fansunion.cn/code

{ page :{ totalCount :8, totalPage :1, pageNo :1, pageSize :20, orderBy : id , order : desc , params :{}, rows :[{ content : , summary : 在线演示:小游戏-会飞的猪-FlappyPig , updat...

fansunion.cn/code 2014-11-09”


   另外发现,新版网站上线这么久,百度的收录很少。

   按说新版网站,结构更加清晰了,会逐步增多才对,但是没有。


   下面的代码,不再使用了。

   <bean

class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">

<property name="defaultContentType" value="application/json" />

<property name="mediaTypes">

<map>

<entry key="html" value="text/html" />

<entry key="json" value="application/json" />

<entry key="xml" value="application/xml" />

</map>

</property>

<property name="defaultViews">

<list>

<bean

class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">

</bean>

<bean id="marshallingView"

class="org.springframework.web.servlet.view.xml.MarshallingView">

<property name="marshaller">

<bean id="xStreamMarshaller" class="org.springframework.oxm.xstream.XStreamMarshaller">

<property name="autodetectAnnotations" value="true" />

</bean>

</property>

<property name="contentType" value="application/xml" />

</bean>

</list>

</property>

</bean>

手动构造JSON格式的数据,并返回。

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

共有 人打赏支持
FansUnion
粉丝 57
博文 858
码字总数 825464
作品 0
丰台
高级程序员

暂无文章

20位活跃在Github上的国内技术大牛 leij 何小鹏 亚信

本文列举了20位在Github上非常活跃的国内大牛,看看其中是不是很多熟悉的面孔? 1. lifesinger(玉伯) Github主页: https://github.com/lifesinger 微博:@ 玉伯也叫射雕 玉伯(王保平),...

海博1600
10分钟前
0
0
高性能服务器本质论

一 服务器分类 从软件性能角度,高性能服务器分:cpu密集型服务器/IO密集型服务器 (1)CPU密集型:该类服务器没有对io的访问/没有同步点,性能瓶颈在于对cpu的充分利用。 典型的如转发服务器/...

码代码的小司机
11分钟前
0
0
Mybatis收集配置

一、Mybatis取Clob数据 1、Mapper.xml配置 <resultMap type="com.test.User" id="user"> <result column="id" property="id"/> <result column="json_data" property="jsonData" ......

星痕2018
37分钟前
0
0
centos7设置以多用户模式启动

1、旧版本linux系统修改inittab文件,在新版本执行vi /etc/inittab 会有以下提示 # inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON......

haha360
今天
0
0
OSChina 周日乱弹 —— 局长:怕你不爱我

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ andonny :分享周二珂的单曲《孤独她呀》 《孤独她呀》- 周二珂 手机党少年们想听歌,请使劲儿戳(这里) @孤星闵月 :没事干,看一遍红楼梦...

小小编辑
今天
192
9
Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式 Factory工厂模式 Singleton单例模式 Delegate委派模式 Strategy策略模式 Prototype原型模式 Template模板模式 Spring5 beans 接口实例化 代理Bean操作 ...

小致dad
今天
0
0
SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
11
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
17
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
254
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部