分类信息添加:
1.应在在左边的dtree上添加连接(展示所有的分类信息)
d.add(...,"/store/adminCategory?method=findAll","","mainFrame")
2.创建adminCategoryservlet ,编写findAll()
查询的结果是一个list,将list放入request域中,然后请求转发/admin/category/list.jsp 添加分类的步骤:
1.编写一个连接,
/store/adminCategory?method=addUI
2.请求转发到/admin/category/add.jsp
3.add.jsp就是一个表单页面
编写表单的action属性 /store/adminCategory?method=add
给分类的名称字段添加一个name属性 name="cname"
4.admincategoryservlet的add方法
获取分类的名称
封装成category 设置id
调用categoryservice的add方法
页面重定向 /store/adminCategory?method=findAll
5.categoryservice的add方法
暂时调用dao
6.dao中添加一条数据

/store/WebContent/admin/left.jsp

/store/WebContent/admin/category/list.jsp

/store/src/com/louis/web/servlet/AdminCategoryServlet.java

/**
* 跳转到添加页面上
* @param request
* @param response
* @return
* @throws Exception
*/
public String addUI(HttpServletRequest request, HttpServletResponse response) throws Exception { return "/admin/category/add.jsp";
}

/store/WebContent/admin/category/add.jsp

/store/src/com/louis/web/servlet/AdminCategoryServlet.java

public String add(HttpServletRequest request, HttpServletResponse response) throws Exception {
//1.接受cname
String cname = request.getParameter("cname"); //2.封装category
Category c = new Category();
c.setCid(UUIDUtils.getId());
c.setCname(cname); //3.调用service完成 添加操作
CategoryService cs=(CategoryService) BeanFactory.getBean("CategoryService");
cs.add(c); //4.重定向 查询所有分类
response.sendRedirect(request.getContextPath()+"/adminCategory?method=findAll"); return null;
}

/store/src/com/louis/service/impl/CategoryServiceImpl.java

/**
* 添加分类,因为分类的信息是通过缓存中获取的,所以这里也应该从缓存中获取,首先清空下缓存
*/
@Override
public void add(Category c) throws Exception {
// 暂时 获取dao
CategoryDao cd = (CategoryDao) BeanFactory.getBean("CategoryDao");
cd.add(c); // 更新缓存
// 1.创建缓存管理器
CacheManager cm = CacheManager
.create(CategoryServiceImpl.class.getClassLoader().getResourceAsStream("ehcache.xml")); // 2.获取指定的缓存
Cache cache = cm.getCache("categoryCache"); //3.清空
cache.remove("clist");
}

/store/src/com/louis/dao/impl/CategoryDaoImpl.java

    /**
* 添加分类
*/
@Override
public void add(Category c) throws Exception {
QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
String sql="insert into category values(?,?)";
qr.update(sql, c.getCid(),c.getCname());
}

(二十六)分类信息的curd-分类信息添加的更多相关文章

  1. 深度学习(二十六)Network In Network学习笔记

    深度学习(二十六)Network In Network学习笔记 Network In Network学习笔记 原文地址:http://blog.csdn.net/hjimce/article/deta ...

  2. 模板方法模式 Template method 行为型 设计模式(二十六)

    模板方法模式 Template method 上图为网上百度的一份简历模板截图   相信大家都有求职的经历,那么必然需要简历,写简历的时候,很可能你会网上检索一份简历模板,使用此模板的格式,然后替换为 ...

  3. FreeSql (二十六)贪婪加载 Include、IncludeMany、Dto、ToList

    贪婪加载顾名思议就是把所有要加载的东西一次性读取. 本节内容为了配合[延时加载]而诞生,贪婪加载和他本该在一起介绍,开发项目的过程中应该双管齐下,才能写出高质量的程序. Dto 映射查询 Select ...

  4. Bootstrap <基础二十六>进度条

    Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet ...

  5. 二十六、Jcreator使用初步

    摘自http://blog.csdn.net/liujun13579/article/details/7751464 二十六.Jcreator使用初步 Jcreator是一个小巧灵活的Java开发工具 ...

  6. WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇]

    原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇] 元数据的导出就是实现从ServiceEndpoint对象向MetadataSet对象转换的过程,在WCF元数据框 ...

  7. VMware vSphere 服务器虚拟化之二十六 桌面虚拟化之View Persona Management

    VMware vSphere 服务器虚拟化之二十六 桌面虚拟化之View Persona Management 实验失败告终,启动VMware View Persona Management服务报10 ...

  8. 第一百二十六节,JavaScript,XPath操作xml节点

    第一百二十六节,JavaScript,XPath操作xml节点 学习要点: 1.IE中的XPath 2.W3C中的XPath 3.XPath跨浏览器兼容 XPath是一种节点查找手段,对比之前使用标准 ...

  9. 二十六个月Android学习工作总结【转】

    原文:二十六个月Android学习工作总结 1.客户端的功能逻辑不难,UI界面也不难,但写UI花的时间是写功能逻辑的两倍.     2.写代码前的思考过程非常重要,即使在简单的功能,也需要在本子上把该 ...

  10. 使用Typescript重构axios(二十六)——添加HTTP授权auth属性

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

随机推荐

  1. ETCD 单机安装

    由于测试的需要,有时需要搭建一个单机版的etcd 环境,为了方便以后搭建查看,现在对单机部署进行记录. 一.部署单机etcd 下载 指定版本的etcd下载地址 ftp://ftp.pbone.net/ ...

  2. 深入研究Clang(五) Clang Lexer代码阅读笔记之Lexer

    作者:史宁宁(snsn1984) Clang的Lexer(词法分析器)的源代码的主要位置例如以下: clang/lib/Lex    这里是基本的Lexer的代码: clang/include/cla ...

  3. 自己定义控件事实上非常easy1/6

    尊重原创转载请注明:From AigeStudio(http://blog.csdn.net/aigestudio)Power by Aige 侵权必究! 炮兵镇楼 上一节我们粗略地讲了下怎样去实现我 ...

  4. 【hdu】Mayor&#39;s posters(线段树区间问题)

    须要离散化处理,线段树的区间改动问题. 须要注意的就是离散化的时候,由于给的数字是一段单位长度,所以须要特殊处理(由于线段的覆盖和点的覆盖是不一样的) 比方:(1,10)(1,4) (6,10) 离散 ...

  5. [转载]JSONP跨域的原理解析

    JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略).这一策略对于Java ...

  6. 使用ViewPager多页面滑动切换以及动画效果

    https://github.com/eltld/Viewpager

  7. Java基础 面向对象的详解

    1.1 万物皆对象 我们是怎么认识世界的? 人类从小就不断的接触到各种各类存在世界上的各种生物,然后通过事物的公共特性,将它们归类,所以以后就不会出现见到猫叫老虎.那么我们在现实生活中,是通过具体的某 ...

  8. c++vector简单实现

    const int DEFAULT_CAP = 3; template <typename T> class vector { // int capacity; T* _data; int ...

  9. [git] csdn之code平台的使用

    简单的说一下GIT的使用.... 代码和托管平台是csdn刚出来没多久的code.csdn.net [中文的界面什么的简单点,好理解,嗯,易用....] Git 使用最新版:Git-1.8.4-pre ...

  10. 关于yum的一些基本的东西

    1 sqlite数据库的使用 第一,某个centos版本的包相关的信息都放在一个服务器端的sqlite数据库文件中,yum会下载到本地,进行包安装的时候用. 第二,安装的历史记录放在sqlite数据库 ...