WEB开发会话技术0310.问题引出问题引出不同的用户登录网站后,不管该用户浏览网站的哪个页面,都可以显示登录人的名字,还可以随时去查看自己购物车中的商品,这是如何实现的呢?也就是说,一个用户在浏览一个网站的不同页面时,服务器是如何知道是张三在浏览这个页面,还是李四在浏览这个页面?解决方法1-使用cookie在用户登录的时候,服务器可以将用户信息通过cookie的形式保留在浏览器。每当用户访问不同的网页(发送HTTP请求),浏览器都会将该cookie发送给服务器,服务器通过获取cookie的值,在网页上就可以显示当前用户的信息;同时服务器也可以通过cookie(用户信息)找到用户操作用户在数据
JDBC和连接池038.事务8.1事务介绍基本介绍JDBC程序中当一个Connection对象创建时,默认情况下是自动提交事务:每次执行一个SQL语句时,如果执行成功,就会向数据库自动提交,而不能回滚。JDBC程序中为了让多个SQL语句作为一个整体执行,需要使用事务调用Connection的setAutoCommit(false)可以取消自动提交事务在所有的SQL语句都执行成功后,调用Connection的commit();方法提交事务在其中某个操作失败或者出现异常时,调用Connection的rollback();方法回滚事务8.2事务处理应用实例模拟经典的转账业务首先创建一张account
JDBC和连接池038.事务8.1事务介绍基本介绍JDBC程序中当一个Connection对象创建时,默认情况下是自动提交事务:每次执行一个SQL语句时,如果执行成功,就会向数据库自动提交,而不能回滚。JDBC程序中为了让多个SQL语句作为一个整体执行,需要使用事务调用Connection的setAutoCommit(false)可以取消自动提交事务在所有的SQL语句都执行成功后,调用Connection的commit();方法提交事务在其中某个操作失败或者出现异常时,调用Connection的rollback();方法回滚事务8.2事务处理应用实例模拟经典的转账业务首先创建一张account
家居网购项目实现038.功能07-后台管理显示家居8.1需求分析/图解给后台管理提供独立登录页面,管理员登录地址不对外公开管理员登录成功后,显示管理菜单页面管理员点击家居管理,显示所有家居信息8.2思路分析ps:实现管理员登录功能,方案一是将管理员视为member,添加到member表中,为了区别管理员和用户的权限,添加一个字段即可;方案二是重新创建一张admin表,单独存储admin信息。这里采用方案二。8.3代码实现8.3.1admin表和furn表admin表:--创建admin表CREATETABLE`admin`(`id`INTPRIMARYKEYAUTO_INCREMENT,`us
家居网购项目实现038.功能07-后台管理显示家居8.1需求分析/图解给后台管理提供独立登录页面,管理员登录地址不对外公开管理员登录成功后,显示管理菜单页面管理员点击家居管理,显示所有家居信息8.2思路分析ps:实现管理员登录功能,方案一是将管理员视为member,添加到member表中,为了区别管理员和用户的权限,添加一个字段即可;方案二是重新创建一张admin表,单独存储admin信息。这里采用方案二。8.3代码实现8.3.1admin表和furn表admin表:--创建admin表CREATETABLE`admin`(`id`INTPRIMARYKEYAUTO_INCREMENT,`us
线程基础036.用户线程和守护线程用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束。平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程守护线程(Daemon):一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束常见的守护线程:垃圾回收机制例子1:如何将一个线程设置成守护线程packageli.thread.method;publicclassThreadMethodExercise{publicstaticvoidmain(String[]args)throwsInterruptedException{MyDaemonThreadmyDae
线程基础036.用户线程和守护线程用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束。平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程守护线程(Daemon):一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束常见的守护线程:垃圾回收机制例子1:如何将一个线程设置成守护线程packageli.thread.method;publicclassThreadMethodExercise{publicstaticvoidmain(String[]args)throwsInterruptedException{MyDaemonThreadmyDae
JavaGUI-坦克大战037.线程的应用017.1坦克子弹发射思路在坦克大战2.0基础上添加如下功能:当玩家按下j键,就发射一颗子弹。思路:当发射一颗子弹后,就等于启动了一个线程Hero类要有子弹的对象,当按下j键时,我们就启动一个发射行为(线程),让子弹不停地移动,形成一个设计的效果我们的MyPanel需要不停地重绘,才能出现该效果当子弹移动到面板边界时,就应该销毁(把启动的子弹的线程销毁)7.2我方发射子弹1.创建子弹类Shot:实现Runnable接口,创建线程,在run方法中用while循环不停地改变子弹坐标,实现子弹射出的效果packageli.TankGame.version03
JavaGUI-坦克大战037.线程的应用017.1坦克子弹发射思路在坦克大战2.0基础上添加如下功能:当玩家按下j键,就发射一颗子弹。思路:当发射一颗子弹后,就等于启动了一个线程Hero类要有子弹的对象,当按下j键时,我们就启动一个发射行为(线程),让子弹不停地移动,形成一个设计的效果我们的MyPanel需要不停地重绘,才能出现该效果当子弹移动到面板边界时,就应该销毁(把启动的子弹的线程销毁)7.2我方发射子弹1.创建子弹类Shot:实现Runnable接口,创建线程,在run方法中用while循环不停地改变子弹坐标,实现子弹射出的效果packageli.TankGame.version03
Spring管理Bean-IOC1.Spring配置/管理bean介绍Bean管理包括两方面:创建bean对象给bean注入属性Bean的配置方式:基于xml文件配置方式基于注解配置方式2.基于XML配置bean2.1通过类型来获取bean通过id来获取bean在Spring基本介绍中已经使用过,这里不再赘叙案例说明:通过spring的ioc容器,获取一个bean对象(说明:获取bean的方式:按类型)完成步骤:创建一个Java对象Monster.java在beans.xml中配置Monster.java:packagecom.li.bean;/***@author李*@version1.0*