v512工作室_刘伟_Java高端培训系列视频_2009年博客系统项目笔记心得
2014-12-02 09:47
661 查看
1.从数据库中读取date类型的数据进行显示java.text.SimpleDateformat
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String date=sdf.format(blog.getCreatedTime());
sdf=new SimpleDateFormat("hh:mm:ss");
String time=sdf.format(blog.getCreatedTime());
2.(1)创建session并将对象存入数据库中
user = (User) list.get(0);
HttpSession session = request.getSession();
session.setAttribute("user", user);
request.getRequestDispatcher("/admin/admin.jsp").forward(request,response);
(2)从session中读取对象来判断用户是否已经登录
HttpSession session=request.getSession();
User user=(User)session.getAttribute("user");
if(user==null){response.sendRedirect("/blog/admin/login.jsp");}else{ }
(3)session的销毁:HttpSession session = request.getSession();
session.invalidate();
response.sendRedirect("/blog");
3.让一个类实现java.io.Serializable接口是为了让这个类的状态序列化或者反序列化,对显示的时候排序有一定作用。
4.request的属性setAttribute()只有转发过去才能拿到值,如果是重定向过去就拿不到这个值,并且request的生存周期只在于服务器端的那一次,也就是说,如果是在客户端跳转是拿不到值的,并且,在服务器端跳转之后那个属性值就没有了。而不是想session一样默认有30s的生存时间。
5.request.getAttribute("nameOfObj")可得到JSP页面一表 单中控件的Value。其实表单控件中的Object的 name与value是存放在一个哈希表中的,所以在这里给出Object的name会到哈希表中找出对应它的value。
而不同页面间传值使用request.setAttribute(position, nameOfObj)时,只会从a.jsp到b.jsp一次传递,之后这个request就会失去它的作用范围,再传就要再设一个request.setAttribute()。而使用session.setAttribute()会在一个过程中始终保有这个值。
P.S.:JavaScript与JSP中不能相互传值,因为JavaScript运行在客户端,而JSP运行在服务器端。若想使它们之间可以相互传递参数,可以在JSP中设置一个hidden控件,用它的value结合上面所说的用法来传递所需的数值。
6.为什么request.setAttribute()后面的Object参数不能是boolean类型的?
request, session, application, pageContext这几个对象的setAttribute(key, value)方法放进去的value一定是对象,不能是基本类型或说原生类型(如:int,boolean,float,double等,string除外),即一定是基本类型或说原生类型的包装类:Integer是原生类型:int的包装类,Boolean是原生类型:boolean的包装类等等:
例:
request.setAttribute("USERNAME","james");
session.setAttribute("NUMBER",new Integer(123));
application.setAttribute("BOOLEAN_KEY",new Boolean(false));
7.FLUSH(),不是FRESH()。Flush() 是清空,而不是刷新,主要用在IO中,即清空缓冲区数据,就是说你用读写流的时候,其实数据是先被读到了内存中,然后用数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,因为还有一部分有可能会留在内存这个缓冲区中。这时候如果你调用了 Close()方法关闭了读写流,那么这部分数据就会丢失,所以应该在关闭读写流之前先Flush(),先清空数据。
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String date=sdf.format(blog.getCreatedTime());
sdf=new SimpleDateFormat("hh:mm:ss");
String time=sdf.format(blog.getCreatedTime());
2.(1)创建session并将对象存入数据库中
user = (User) list.get(0);
HttpSession session = request.getSession();
session.setAttribute("user", user);
request.getRequestDispatcher("/admin/admin.jsp").forward(request,response);
(2)从session中读取对象来判断用户是否已经登录
HttpSession session=request.getSession();
User user=(User)session.getAttribute("user");
if(user==null){response.sendRedirect("/blog/admin/login.jsp");}else{ }
(3)session的销毁:HttpSession session = request.getSession();
session.invalidate();
response.sendRedirect("/blog");
3.让一个类实现java.io.Serializable接口是为了让这个类的状态序列化或者反序列化,对显示的时候排序有一定作用。
4.request的属性setAttribute()只有转发过去才能拿到值,如果是重定向过去就拿不到这个值,并且request的生存周期只在于服务器端的那一次,也就是说,如果是在客户端跳转是拿不到值的,并且,在服务器端跳转之后那个属性值就没有了。而不是想session一样默认有30s的生存时间。
5.request.getAttribute("nameOfObj")可得到JSP页面一表 单中控件的Value。其实表单控件中的Object的 name与value是存放在一个哈希表中的,所以在这里给出Object的name会到哈希表中找出对应它的value。
而不同页面间传值使用request.setAttribute(position, nameOfObj)时,只会从a.jsp到b.jsp一次传递,之后这个request就会失去它的作用范围,再传就要再设一个request.setAttribute()。而使用session.setAttribute()会在一个过程中始终保有这个值。
P.S.:JavaScript与JSP中不能相互传值,因为JavaScript运行在客户端,而JSP运行在服务器端。若想使它们之间可以相互传递参数,可以在JSP中设置一个hidden控件,用它的value结合上面所说的用法来传递所需的数值。
6.为什么request.setAttribute()后面的Object参数不能是boolean类型的?
request, session, application, pageContext这几个对象的setAttribute(key, value)方法放进去的value一定是对象,不能是基本类型或说原生类型(如:int,boolean,float,double等,string除外),即一定是基本类型或说原生类型的包装类:Integer是原生类型:int的包装类,Boolean是原生类型:boolean的包装类等等:
例:
request.setAttribute("USERNAME","james");
session.setAttribute("NUMBER",new Integer(123));
application.setAttribute("BOOLEAN_KEY",new Boolean(false));
7.FLUSH(),不是FRESH()。Flush() 是清空,而不是刷新,主要用在IO中,即清空缓冲区数据,就是说你用读写流的时候,其实数据是先被读到了内存中,然后用数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,因为还有一部分有可能会留在内存这个缓冲区中。这时候如果你调用了 Close()方法关闭了读写流,那么这部分数据就会丢失,所以应该在关闭读写流之前先Flush(),先清空数据。
相关文章推荐
- 自学v512工作室_刘伟_Java高端培训系列视频_log4j遇到的问题
- v512工作室Java高端培训系列之Eclipse视频教程
- v512工作室_Java高端培训系列视频--2010年4月12日最新更新
- v512工作室Java高端培训系列之JavaWeb开发视频
- 大数据,分布式,hadoop,java,高并发系统设计,高端培训视频,各种大神学习路线
- Java架构师攻城狮之路:大数据,分布式,hadoop,java,高并发系统设计,高端培训视频,全栈开通
- JavaWeb项目之博客系统(二)上
- Java语言介绍(04)开源项目(05)博客系统(01)Roller Weblogger
- 《php100 视频教程》笔记心得 张恩民 php100 (张迅雷闪击php系列)
- 项目视频讲解_[HeyJava][尚学堂][CMS文章内容管理系统]
- 【安博培训笔记】Oracle销售员工资计算系统-L2_阶段项目案例20130917
- 中科院Java高端培训视频教程第08讲-B
- Java Web开发-项目部分(中国移动科技综合管理系统)视频――私塾在线提供
- 视频: 系统集成项目经理培训预告片―攻破要塞
- ISV客户博客系列:Persistent Systems 使用Windows Azure交付基于Java的CloudNinja项目
- 项目视频讲解_Java私塾-Java初级项目(模拟银行系统)视频教程配套的PPT和演示代码
- AIX系统管理视频培训笔记
- 索骥馆-OFFICE系列之《北风网Excel高端应用培训:多条件约束报表自动统计系统分析与制作》共4章更新完
- 中科院Java高端培训视频教程
- Flex 一周视频培训系列学习笔记(二)