思想:
1、所有显示页面为.jsp文件,jsp页面只负责数据显示和提交,不处理逻辑部分,jsp页面与servlet一一对应,servlet会获取请求的session,如果没有就新建一个,在session中写入lastURL属性的值为当前Servlet名,jsp页面会读取session中的lastURL,如果为空或者不等于当前jsp对应的servlet名,则跳转到对应的servlet。
2、所有servlet都有获取请求的session,在没有的情况下创建一个新的session。都会将自己的servlet名写入session的lastURL字段。
在LoginServlet中,还会在session中写入account字段。
在后台的Servlet中,会判断account字段来判断是否登录及登录用户。
3、鉴于跳转的路径问题,在所有jsp页面中定义base标签属性为网站根目录。
<% pageContext.setAttribute("basePath", request.getScheme()+"://"+request.getServerName()+":"+ request.getServerPort()+request.getContextPath()+"/"); %> <base href="${basePath}">
首页
首页index.jsp是预定的所有网站页面的入口,其大致分为四个模块。
模块一
包括登录LoginServlet、注册RegisterServlet和跳转到自己的管理模块AdminServlet。
读取session中的account字段,如果不为空,则显示AdminServlet入口;否则,显示登录入口
模块二
包括博客模块BlogServlet、文件模块FileServlet、视频模块VideoServlet、音乐模块MusicServlet和网站公告及联系模块WebsiteServlet。
另小功能模块用下拉列表来包含一些小模块入口,待定。
模块三
最新的五篇博客,给出每一篇的题目、创建时间、分类和前80字信息。通过题目可以到达BlogShowServlet。
模块四
分类统计,给出每一个分类的博客数,通过分类标签链接可以到达博客模块LoginServlet的分类查询。
模块五
搜索框,可以对博客进行模糊查询或精确查询