个人知乎
功能二-问题发布
数据库:QuestionDAO
内存模型:Question
服务:QuestionService
控制入口:QuestionController
ajax
js请求url
controller直接返回json串
js得到json返回值后不刷新页面直接渲染html
HTML过滤,避免用户上传脚本
//html语言成为转义,只是纯文本了
question.setContent(HtmlUtils.htmlEscape(
question.getContent()));
敏感词过滤
基本概念:所有敏感词构建成一棵字典树
算法:三个指针分别指向文本的begin,tail和树的root
不断移动tail,和root的孩子比较判断。直到是敏感词或者
root没有孩子。begin不断往后移动,重复
整个算法复杂度nlogn
增强改进:
如果文本里有不常见字符或者空格,那么指针需要跳过这些字符
避免混淆