cms项目文档,java,需求分析

上传人:第*** 文档编号:61714389 上传时间:2018-12-10 格式:PDF 页数:25 大小:1.73MB
返回 下载 相关 举报
cms项目文档,java,需求分析_第1页
第1页 / 共25页
cms项目文档,java,需求分析_第2页
第2页 / 共25页
cms项目文档,java,需求分析_第3页
第3页 / 共25页
cms项目文档,java,需求分析_第4页
第4页 / 共25页
cms项目文档,java,需求分析_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《cms项目文档,java,需求分析》由会员分享,可在线阅读,更多相关《cms项目文档,java,需求分析(25页珍藏版)》请在金锄头文库上搜索。

1、1 用户登录用户登录 1.1 需求需求 : login.jsp : LoginServlet : LoginDao : main.jsp 1: 输入用户名,密码 2: request(username,password) 3: 取出username,password 4: login(username,password) 5: 根据用户名查询数据库中t_user 取出相应的记录,取出记录中的密 码与传入的密码进行比对 6: 返回User对象 7: 判断User对象的取值 8: 如果User不为空 9: 如果User为空 1.2sql 准备准备 createtablet_user(idintpr

2、imarykeyauto_increment,usernamevarchar(20),password varchar(20),status int ,name varchar(50); 1.3 初始化参数配置初始化参数配置 1.servlet 初始化参数配置 仅在该 servelt 中有效 UserServlet org.leadfar.cms.backend.servlet.UserServlet isSupportCheckCode 0 Java 程序读取 isSupportCheckCode=“1“.equals(config. getInitParameter(“isSupportC

3、heckCode“)?true:false; 2.全局应用初始化参数配置 在所有的 servet 和 jsp 中均可读取 isSupportCheckCode 0 Java 程序读取 isSupportCheckCode=“1“.equals(config.getServletContext().getInitParam eter(“isSupportCheckCode“)?true:false; 1.4Fiter(过滤器过滤器) 1.Filter 是一个特殊的 Servlet 2.Filter 是 AOP(Oritend Aspected Programming)思想的一种实现,是对原 WE

4、B 请求路线实 施的干预,支持热插拔 3.可以配置多个 Filter,执行顺序将根据 web.xml 中配置顺序 4.定义 Filter 只需要定义一个普通的 java 类,实现 Filter 接口 public class EncodeFilter implements Filter private String encode; public void destroy() / TODO Auto-generated method stub public void doFilter(ServletRequest request, ServletResponse response, Filter

5、Chain chain) throws IOException, ServletException request.setCharacterEncoding(encode); response.setCharacterEncoding(encode); /一定要加这一句 /System.out.println(“before“); chain.doFilter(request, response); /System.out.println(“after“); public void init(FilterConfig config) throws ServletException encode

6、=config.getInitParameter(“encode“); 5.配置 Filter ParamsFilter org.leadfar.cms.backend.servlet.EncodeFilter encode UTF-8 ParamsFilter /* 6.Url-pattern 1./* 表示根路径下及其所有目录下的所有资源 2./backend/* 3.*.jsp 所有的以jsp为后缀的请求均经过过滤器 4./backend/*.jsp 不允许定义 1.5 路径问题路径问题 1.配置 servlet 的根路径与 html 中访问资源的根路径含义不一样 Servlet 的根路

7、径包含应用程序名 html 中的根路径不含义应用程序名(主机名+端口号) 2.写相对路径 ,一定要明确相对谁 3.写绝对路径,一定要明确”/”起始于谁 4.servlet 的 url 理论上是随意的一个路径,但是请注意一定是绝对路径,且从应用程序根路 径出发的路径. 5.一般一般 forwad 写绝对路径,起始于服务器端的根写绝对路径,起始于服务器端的根 (包含应用程序名)(包含应用程序名) 6.一般一般 redirect 写绝对路径,起始于客户端的根写绝对路径,起始于客户端的根(不包含应用程序名不包含应用程序名),为了不写死,所以要,为了不写死,所以要 通过通过 request.getCon

8、textPath()取得应用程序的路径取得应用程序的路径,如如/cms 7.关于关于标签标签,base 标签设置页的基准路径标签设置页的基准路径,所有的包括链接所有的包括链接,action,样式样式,javascript 的路径均相对于的路径均相对于 base 的设置的设置,默认默认 base 定义的路径是包含应用程序名称的路径定义的路径是包含应用程序名称的路径 2文章管理文章管理 2.1 需求概述需求概述 网站访客 浏览文章 添加文章 编辑文章 删除文章 后台用户 发布文章 left.jsparticle_add.j sp ArticleServle t ArticleDaoarticle_

9、add_ success.jsp 1: 点击添加文章 2: 3: 输入文章相关信息 4: 点击提交(request) 6: save(Article) 5: 获取表单参数,封装为Article对象 7: forward(request,response) 2.2sql 准备准备 2.2.1MySQL 字段类型字段类型 int整数 char(n)定长字符串 varchar(n)变长字符串 blob二进制文件 longtext大字段文本 date日期,不包含时间 datetime日期和时间 time时间 year年份 timestamp毫秒数 2.2.2 建表语句建表语句 create table

10、 t_article( id int primary key auto_increment, title varchar(200), content varchar(4000), create_time datetime, update_time datetime, publish_time datetime, source varchar(200), author varchar(200), summary varchar(200), click_score int , reply_count int, is_recommend int, is_headline int, user_id i

11、nt ); alter table t_article drop content; alter table t_article add content longtext; 2.3 通用通用 Servlet 框架框架 public class BaseServlet extends HttpServlet Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException String method=reques

12、t.getParameter(“method“); /缺省的采用list方法 if(method=null) method=“list“; try Method m=this.getClass().getMethod(method, HttpServletRequest.class,HttpServletResponse.class); m.invoke(this, request,response); catch (SecurityException e) / TODO Auto-generated catch block e.printStackTrace(); catch (NoSuch

13、MethodException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IllegalArgumentException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IllegalAccessException e) / TODO Auto-generated catch block e.printStackTrace(); catch (InvocationTargetException e) / TODO Auto-

14、generated catch block e.printStackTrace(); public void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException public void update(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException public void delete(HttpServletRe

15、quest request, HttpServletResponse response) throws ServletException, IOException public void updateInput(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException public void list(HttpServletRequest request, HttpServletResponse response) throws ServletException,

16、 IOException 2.4 表单参数统一接收和处理框架表单参数统一接收和处理框架 依赖于 apache-common 类库下的 commons-beanutils.jar commons-logging.jar public class RequestUtils /* * * param clazz 目标对象类型 * param request request请求 * return 返回property设完置后的对象 */ public static Object copyProperties(Class clazz,HttpServletRequest request) Object o=null; try o = clazz.newInstance(); catch (InstantiationException e1) / TODO Auto-generated

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号