- 浏览: 33084 次
- 性别:
- 来自: 北京
最新评论
文章列表
Web 应用程序都使用请求/响应模型从服务器上获得完整的 HTML 页面。常常是点击一个按钮,等待服务器响应,再点击另一个按钮,然后再等待,这样一个反复的过程。有了 Ajax 和 XMLHttpRequest 对象,就可以使用不必让用户等待服务 ...
图片,文件,二进制数据
既然数据库支持BLOB类型的数据,把文件塞进BLOB字段里一定没有错了!?错,不是这样的!别的先不提,在很多数据库语言里,处理大字段都不是很容易。
把文件存放在数据库里有很多问题:
对数据库的读/写的速度永远都赶不上文件系统处理的速度
数据库备份变的巨大,越来越耗时间
对文件的访问需要穿越你的应用层和数据库层
这后两个是真正的杀手。把图片缩略图存到数据库里?很好,那你就不能使用nginx或其它类型的轻量级服务器来处理它们了。
给自己行个方便吧,在数据库里只简单的存放一个磁盘上你的文件的相对路径,或者使用S3或CDN之类的服务。
短生命期数据
使用情况 ...
类别 运算符
逻辑运算符 or、and及not
数学运算符 +、- 、* 、/
比较运算符 =、、!=、、=、like、 ...
介绍一下隐藏域的作用
- 博客分类:
- JS
基本语法:
<input type="hidden" name="field_name" value="value">
作用:1 隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。
2 有些时候我们要给用户一信息,让他在提交表单时提交上来以确定用户身份,如sessionkey,等等.当然这些东西也能用cookie实现,但使用隐藏域就简单的多了.而且不会有浏览器不支持,用户禁用c ...
id是唯一标识符,不允许有重复值(类似数据表的主键)可以通过它的值来获得对应的html标签对象。(如果在同一页面代码中,出现重复的id,会导致不可预料的错误)name:单独地在一个网页里面,一个控件是否设置它的 name 属性是 ...
1、FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载。2、FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载。3、比方User类有两个属性,name跟address,就像百度知道,登录后用户名是需要显示出来的,此属性用到的几率极大,要马上到数据库查,用急加载;而用户地址大多数情况下不需要显示出来,只有在查看用户资料是才需要显示,需要用了才查数据库,用懒加载就好了。所以,并不是一登录就把用户的所有资料都加载到对象中,于是有了这两种加载模式。
Spring MVC 入门
- 博客分类:
- Spring
这篇文章将教你快速地上手使用 Spring 框架. 如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦!
首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求交给一个名为 helloController 的程序进行处理, helloController 再调用 一个 ...
Session 也就是 Hibernate中一个事务操作的缓存对象,Spring封装Hibernate也就是封装对Session的操作,简化对session的操作。
SessionFactory 是Spring专门为Hibernate定制的Session工厂类,
如果我们不用Spring,直接使用Hibernate,我们则需要写一个配置文件
hibernate.cfg.xml 文件,但是既然用了spring,那么直接配置在spring bean容器中了,其中配置,数据库连接,hql的指定数据库翻译器(Dialect),java对象和数据库表的映射文件加载 等。
hibernate3 一般 ...
1。当我们调用
Configuration config=new Configuration().configure();
时候Hibernate会自动在当前的CLASSPATH中搜寻hibernate.cfg.xml文件并将其读取到内存作为后继操作的基础配置。
我们也可以指定配置文件名,如果不希望使用 ...
web.xml 配置详解
- 博客分类:
- java
首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener -> filter -> servlet
同时还存在着这样一种配置节:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息。我们的 listener, filter 等在初始化时会用到这些上下文中的信息,那么 context-param 配置节是不是应该写在 listener 配置节前呢?实际上 context-param 配置节 ...
Eclipse是一款很强的Java IDE,我们在开始的时候,往往设定了默认的workspace,当用久在之后,我们可能要去更改一下workspace的位置,但是在启动的时候已经不会显示更改了。下面有几种方法可以更改workspace的目录。 三种方法都可以更改:
1、进入 Window > Preferences > General > Startup and Shutdown 选中 Prompt for workspace on startup。 2、进入Eclipse的安装目录,找到configuration 目录下的 .settings 文 ...
基础
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明: ...
1. 不是所有的类都需要实现序列化接口,在同一个JVM中,且未写入存储设备中,不需要实现序列化接口。
2. 了解各种常见的监听器
3. 三种存储空间的比较
应用上下文 请求 会话
生命周期 整个应用 单个请求(线程安全) 会话连接(非线程安全)
可访问性 servlet,jsp, 持有这个会话的所有servlet 该请求相关的对象及相关监听器
...
4. 初始化参数
servletConfig:
获取方式:getServletConfig()
容器初始化一个servlet时,会为这个servlet建立一个唯一的servletConfig
容器从web.xml中读取servlet初始化参数,并把这些参数交给servletConfig,servletConfig接着传递给servlet的init方法
不要在构造函数中获取初始化参数,一个servlet只有在执行init方法后才算一个完整的servlet。如果必要的话,一般需要覆盖无参的init方法
生命周期:
1.容器读取配置文件
2.new一个servletCon ...
6.servletConfig 和ServletContext之间的区别
6.1 servletconfig:
从一个servlet被实例化后,对所有客户端在所有时候访问有效,但仅对本servlet 有效,一个servlet的servletconfig对象不能被另一个servlet访问。
6.2 servletcontext:
对所有servlet,所有人在所有时间都有效,这才是真正全局的对象。
6.3 用处
如果是整个系统的配置的话,那么就可以设置为servletContext的参数,如系统编码等
<web-app> ...