首页
学习
活动
专区
圈层
工具
发布

图书管理系统【用户、购买、订单模块、添加权限】

,顺便添加购买的超链接 购买 设计购物车实体 如果不清楚为什么这样设计,可参考我之前的博文:http://blog.csdn.net/hon_3y...查找用户的订单,可能不止一个 public List findUserOrder(String user_id) { QueryRunner queryRunner...list.contains(p)) { //这里抛出的异常是代理对象抛出的,sun公司会自动转换成运行期异常抛出,于是在Servlet上我们根据getCause...但是我们是通过代理对象调用方法的,于是sun公司的策略就是把它们转换成运行期异常抛出去。 因此,我们就在Servlet上得到异常,再给出友好的提示。。 ---- 效果: 没有登陆的时候: ?...在invoke()方法抛出的编译时期异常,java会自动转换成运行期异常进行抛出... 使用contains()方法时,就要重写该对象的hashCode()和equals()

4.2K90

【JavaWeb基础】图书管理系统【用户、购买、订单模块、添加权限】(修订版)

,顺便添加购买的超链接 购买 设计购物车实体 如果不清楚为什么这样设计,可参考我之前的博文:http://blog.csdn.net/hon_3y/article...查找用户的订单,可能不止一个 public List findUserOrder(String user_id) { QueryRunner queryRunner...再看看用户有没有相对应的权限 //查找用户的所有权限 public List findUserPrivilege(String user_id) { QueryRunner queryRunner...但是我们是通过代理对象调用方法的,于是sun公司的策略就是把它们转换成运行期异常抛出去。 因此,我们就在Servlet上得到异常,再给出友好的提示。。 ---- 效果: 没有登陆的时候: ?...在invoke()方法抛出的编译时期异常,java会自动转换成运行期异常进行抛出… 使用contains()方法时,就要重写该对象的hashCode()和equals()

3.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【旧】G005Spring学习笔记-Spring完全注解实现及优化

    用于指定bean的id,当不写时,默认值为当前方法的名称; * 细节:当我们使用注解配置方法时,如果方法有参数,spring框架去容器中查找有没有可用的bean对象; * 查找的方式和...当不写时,默认值为当前方法的名称; * 细节:当我们使用注解配置方法时,如果方法有参数,spring框架去容器中查找有没有可用的bean对象; * 查找的方式和Autowired注解的作用是一致的...; */ @Configuration @ComponentScan(basePackages = "com.zibo")//可省略为@ComponentScan("com.zibo") public...当不写时,默认值为当前方法的名称; * 细节:当我们使用注解配置方法时,如果方法有参数,spring框架去容器中查找有没有可用的bean对象; * 查找的方式和Autowired注解的作用是一致的...(坐标); * 2、使用junit提供的注解,把原有的main方法替换成spring提供的@Runwith; * 3、告知spring的运行器,spring的ioc创建是基于xml还是注解,并说明其位置

    21210

    Java---注解、类加载器-加强-实现运行任意目录下class中加了@MyTest的空参方法

    做自己的类加载器 虚拟机的核心是通过类加载器来加载.class文件,然后进行相应的解析执行。那么我们可以自己做类加载器,手动加载需要的.class以进行解析执行,从而扩展虚拟机的功能。...进一步地, //如果我们自己熟悉字节码的生成格式,那么也可自己用程序生成。...因为不是一个类加载器的。 作自己的测试工具MyJUnit (注解与反射共同使用的案例 ) 相关说明: 1)JUnit用的是@Test注解,我们用@MyTest注解。...2)JUnit已经嵌入到MyEclipse当中,我们自己的MyJUnit只要能独立运行就可以(不嵌入),同时这样我们也不方便在MyJUnit中以参数方式接收到被测试类的类名与方法名,只能以键盘输入的方式接收...下面实现了运行任意目录下的实现了@MyTest注解的方法: 需要输入绝对路径名和类的完整名字。

    46130

    【JavaWeb基础】权限管理系统(修订版)

    ---- 开发DAO PrivilegeDao /** * 权限的管理应该有以下的功能: * 1.添加权限 * 2.查看所有权限 * 3.查找某个权限 * * */ public class PrivilegeDao...这里写图片描述 ---- 提供显示权利页面的Servlet //得到浏览器想要查看的角色id String role_id = request.getParameter("role_id"); RoleService...这里写图片描述 ---- 处理表单数据并添加角色权利的Servlet //得到浏览器想要添加权利的id String[] ids = request.getParameterValues("privilege_id...这里写图片描述 ---- 处理表单数据,并添加权限的Servlet //得到浏览器带过来的数据 String name = request.getParameter("name"); String description...【得到角色的所有权限是同理】 ⑧:修改用户的角色:我们先把用户的角色全部删除了,再通过外界勾选的角色进行添加(这是一个折中的办法)【修改角色的权限是同理】 ⑨:在添加用户角色的时候,要把用户的id通过隐藏域传递进去给服务器端

    1.4K50

    权限管理系统

    ---- 开发DAO PrivilegeDao /** * 权限的管理应该有以下的功能: * 1.添加权限 * 2.查看所有权限 * 3.查找某个权限 * * */ public class PrivilegeDao...---- 提供显示权利页面的Servlet //得到浏览器想要查看的角色id String role_id = request.getParameter("role_id...---- 处理表单数据并添加角色权利的Servlet //得到浏览器想要添加权利的id String[] ids = request.getParameterValues...---- 处理表单数据,并添加权限的Servlet //得到浏览器带过来的数据 String name = request.getParameter("name");...【得到角色的所有权限是同理】 ⑧:修改用户的角色:我们先把用户的角色全部删除了,再通过外界勾选的角色进行添加(这是一个折中的办法)【修改角色的权限是同理】 ⑨:在添加用户角色的时候,要把用户的id通过隐藏域传递进去给服务器端

    8.7K60

    袖口里的“超能力”:Facebook腕带式AR传感器,可隔空打字、操控界面,LeCun点赞

    Facebook最近公布的腕带式的AR传感器,让你在虚拟世界get绯红女巫同款技能。...不仅如此,FRL研究科学主管Hrvoje Benko表示: “我们相信,可穿戴的腕带设备可以为AR眼镜,提供超低摩擦、随时可用的输入,但它们本身并不是一个完整的解决方案。...目前,Facebook团队正在构建研究原型,包括拥有8个气动波纹管的Bellowband,以及使用了6个震动触动器和新颖的手腕挤压机制的Tasbi,以进一步探索的触觉反馈的类型。...利用EMG技术实现控制 这些功能,都是依赖EMG(肌电图)技术实现的。 EMG技术,就是使用传感器,将通过手腕传到手部的电运动神经信号,转化为数字指令。...; 置于手腕的可穿戴设备还可以轻松地作为计算、电池和天线的平台,同时支持多种传感器。

    66630

    java核心技术第五篇之事务和MVC模式

    ; //启动学员信息管理的视图层代码 }else { System.out.println("登录失败!可能的原因:用户名和密码错误!")...隐式可重入函数:可重入函数中的一些参数是引用传递(使用了指针),也就是说,在调用线程小心地传递指向非共享数据的指针时,它才是可重入的。例如rand_r就是隐式可重入的。...我们使用可重入(reentrant)来包括显式可重入函数和隐式可重入函数。然而,可重入性有时是调用者和被调用者共有的属性,并不只是被调用者单独的属性。...qr = new QueryRunner(JDBCUtils.getDataSource()); //1.使用用户名查找一个用户 public AccountBean findByUserName...qr = new QueryRunner(JDBCUtils.getDataSource()); //1.使用用户名查找一个用户 public AccountBean findByUserName

    78710

    java核心技术第四篇之JDBC第二篇

    2).连接池的作用:先期缓存一些Connection对象,并对这些Connection进行反复的使用,回收,而不需要为每个用户单独创建Connection 对象,从而可以提高程序的运行效率。..."));//运行时会默认从bin目录下查找资源文件 2).创建连接池对象 BasicDataSource dataSource = (BasicDataSource)BasicDataSourceFactory.createDataSource...如果没有查询结果,返回的是:空数组(0长度数组),不是空指针 String sql = “select * from products where category_id = 20”; Object...() throws Exception{ //1.创建QueryRunner对象 QueryRunner qr = new QueryRunner(new ComboPooledDataSource...可以对这些Connection对象进行反复的重用,达到提高程序运行效率的目的。 目标:能够使用DBCP连接池 1.复制2个jar包; 2.复制配置文件到src目录下。

    72020

    Web-第十四天 基础加强-JDBC案例【悟空教程】

    hand"> 第2章 案例:添加商品 2.1 案例介绍 日常生活中,我们浏览电商(京东、淘宝等)网站时,浏览器的商品会被后台管理员提前录入到系统中...pid=1”并将需要查询的商品的id传递给服务器,servlet获得商品id,通过id查询商品详情,然后将查询结果存放到request作用域,使用请求转发,将数据显示在“product_edit.jsp...public class PageBean { private int pageNumber; //当前页(浏览器传递) private int pageSize; //每页显示个数(固定值,也可以是浏览器传递...7.2 案例分析 “条件查询”和“查询所有”,两个功能非常相似,不同出就在条件的筛选上,通过页面将分类和商品名称传递给服务器,服务器获得查询条件,然后通知service拼凑sql语句进行具体查询。...实际参数可重复、参数需要顺序,所以选择List集合 List paramsList = new ArrayList(); //2.1 分类不为空 ,添加分类条件 if(product.getCategory_id

    94340

    Web-第二十二天 Web商城实战二【悟空教程】

    浏览器每发送一次请求,服务器端都会查询一次数据库,从而对数据库服务器造成不必要的访问。实际开发中,我们采用缓存技术来解决此类问题。...1.5.2 相关技术 缓存(Cache):通常指的就是内存中的一块空间,介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能..."); //2.1 若不为空,直接返回数据 if(value!...=null){ System.out.println("缓存中有数据库"); return value; } //2.2 若为空,从mysql数据库中获取 并放入redis中 List器访问商城,就相当于去超市购买商品,我们需要使用“购物车”对准备购买商品的增删操作。 4.2 分析 ?

    1.4K40

    第二十七天 数据库基础&JDBC使用&工具类Properties&连接池&DBUtils【悟空教程】

    在Query窗口中,输入SQL代码,选中要执行的SQL代码,按F8键运行,或按执行按钮运行。...它的特点是非空,唯一。 在开发中一般情况下主键是不具备任何含义,只是用于标识当前记录。...(在获取连接后,关闭连接是将连接返还给连接池) 而在DBUtils的学习过程中,我们使用QueryRunner的空参构造完成,每次请求调用query方法时传入连接对象。...是否自动回收超时连接removeAbandonedTimeout超时时间(以秒数为单位)maxWait超时等待时间以毫秒为单位 1000等于60秒timeBetweenEvictionRunsMillis在空闲连接回收器线程运行期间休眠的时间值...,以毫秒为单位numTestsPerEvictionRun在每次空闲连接回收器线程(如果有)运行时检查的连接数量minEvictableIdleTimeMillis连接在池中保持空闲而不被空闲连接回收器线程

    93220
    领券