⑴ java接收ajax传递过来的图片参数图片参数
SpringMVC上传首先需要在配置文件中配置文件解析器
<beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<propertyname="defaultEncoding"value="UTF-8"/>
<!--指定所上传文件的总大小不能超过200KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和-->
<propertyname="maxUploadSize"value="200000"/>
</bean>
提交的form表单中需要包含enctype="multipart/form-data"
加上enctype后,Spring MVC的前端控制器会判断是否是文件上传, 自动转换的
后台使用MultipartFile对象即可接收
可以直接form表单提交或者异步上传文件
⑵ ajax如何 实现 文件上传
程序说明
使用说明
实例化时,第一个必要参数是file控件对象:
newQuickUpload(file);
第二个可选参数用来设置系统的默认属性,包括
属性: 默认值//说明
parameter:{},//参数对象
action:"",//设置action
timeout:0,//设置超时(秒为单位)
onReady:function(){},//上传准备时执行
onFinish:function(){},//上传完成时执行
onStop:function(){},//上传停止时执行
onTimeout:function(){}//上传超时时执行
还提供了以下方法:
upload:执行上传操作;
stop:停止上传操作;
dispose:销毁程序。
varQuickUpload=function(file,options){
this.file=$$(file);
this._sending=false;//是否正在上传
this._timer=null;//定时器
this._iframe=null;//iframe对象
this._form=null;//form对象
this._inputs={};//input对象
this._fFINISH=null;//完成执行函数
$$.extend(this,this._setOptions(options));
};
QuickUpload._counter=1;
QuickUpload.prototype={
//设置默认属性
_setOptions:function(options){
this.options={//默认值
action:"",//设置action
timeout:0,//设置超时(秒为单位)
parameter:{},//参数对象
onReady:function(){},//上传准备时执行
onFinish:function(){},//上传完成时执行
onStop:function(){},//上传停止时执行
onTimeout:function(){}//上传超时时执行
};
return$$.extend(this.options,options||{});
},
//上传文件
upload:function(){
//停止上一次上传
this.stop();
//没有文件返回
if(!this.file||!this.file.value)return;
//可能在onReady中修改相关属性所以放前面
this.onReady();
//设置iframe,form和表单控件
this._setIframe();
this._setForm();
this._setInput();
//设置超时
if(this.timeout>0){
this._timer=setTimeout($$F.bind(this._timeout,this),this.timeout*1000);
}
//开始上传
this._form.submit();
this._sending=true;
},
//设置iframe
_setIframe:function(){
if(!this._iframe){
//创建iframe
variframename="QUICKUPLOAD_"+QuickUpload._counter++,
iframe=document.createElement($$B.ie?"<iframename=""+iframename+"">":"iframe");
iframe.name=iframename;
iframe.style.display="none";
//记录完成程序方便移除
varfinish=this._fFINISH=$$F.bind(this._finish,this);
//iframe加载完后执行完成程序
if($$B.ie){
iframe.attachEvent("onload",finish);
}else{
iframe.onload=$$B.opera?function(){this.onload=finish;}:finish;
}
//插入body
varbody=document.body;body.insertBefore(iframe,body.childNodes[0]);
this._iframe=iframe;
}
},
//设置form
_setForm:function(){
if(!this._form){
varform=document.createElement('form'),file=this.file;
//设置属性
$$.extend(form,{
target:this._iframe.name,method:"post",encoding:"multipart/form-data"
});
//设置样式
$$D.setStyle(form,{
padding:0,margin:0,border:0,
backgroundColor:"transparent",display:"inline"
});
//提交前去掉form
file.form&&$$E.addEvent(file.form,"submit",$$F.bind(this.dispose,this));
//插入form
file.parentNode.insertBefore(form,file).appendChild(file);
this._form=form;
}
//action可能会修改
this._form.action=this.action;
},
//设置input
_setInput:function(){
varform=this._form,oldInputs=this._inputs,newInputs={},name;
//设置input
for(nameinthis.parameter){
varinput=form[name];
if(!input){
//如果没有对应input新建一个
input=document.createElement("input");
input.name=name;input.type="hidden";
form.appendChild(input);
}
input.value=this.parameter[name];
//记录当前input
newInputs[name]=input;
//删除已有记录
deleteoldInputs[name];
}
//移除无用input
for(nameinoldInputs){form.removeChild(oldInputs[name]);}
//保存当前input
this._inputs=newInputs;
},
//停止上传
stop:function(){
if(this._sending){
this._sending=false;
clearTimeout(this._timer);
//重置iframe
if($$B.opera){//opera通过设置src会有问题
this._removeIframe();
}else{
this._iframe.src="";
}
this.onStop();
}
},
//销毁程序
dispose:function(){
this._sending=false;
clearTimeout(this._timer);
//清除iframe
if($$B.firefox){
setTimeout($$F.bind(this._removeIframe,this),0);
}else{
this._removeIframe();
}
//清除form
this._removeForm();
//清除dom关联
this._inputs=this._fFINISH=this.file=null;
},
//清除iframe
_removeIframe:function(){
if(this._iframe){
variframe=this._iframe;
$$B.ie?iframe.detachEvent("onload",this._fFINISH):(iframe.onload=null);
document.body.removeChild(iframe);this._iframe=null;
}
},
//清除form
_removeForm:function(){
if(this._form){
varform=this._form,parent=form.parentNode;
if(parent){
parent.insertBefore(this.file,form);parent.removeChild(form);
}
this._form=this._inputs=null;
}
},
//超时函数
_timeout:function(){
if(this._sending){this._sending=false;this.stop();this.onTimeout();}
},
//完成函数
_finish:function(){
if(this._sending){this._sending=false;this.onFinish(this._iframe);}
}
}
⑶ ASP.NET范例开发大全的图书目录
第1篇 环境配置和网站构建
第1章 ASP .NET开发准备(教学视频:25分钟) 2
1.1 搭建ASP .NET开发环境 2
实例001 安装IIS并配置 2
实例002 安装并使用VS 2008开发ASP .NET程序 4
1.2 ASP .NET网站配置文件 5
实例003 在Web.Config文件中添加数据库连接配置 6
实例004 在Web.Config文件中添加自定义配置节 7
实例005 在Web.Config文件中配置Session状态管理 8
实例006 在Web.Config文件中限制用户请求大小 10
实例007 在Web.Config文件中配置错误跳转页 11
第2章 HTML开发基础(教学视频:49分钟) 13
2.1 页面布局设计 13
实例008 使用表格布局设计登录页面 13
实例009 在数据绑定控件中使用表格布局显示员工信息 14
2.2 框架页布局设计 15
实例010 使用frameset布局聊天室 15
实例011 使用iframe布局的OA首页 16
2.3 使用marquee元素制作公告栏 17
实例012 向上滚动的公告栏 17
实例013 在滚动的公告栏中使用链接 18
2.4 广告栏设计 18
实例014 Banner广告制作 18
实例015 漂浮的Banner广告 19
实例016 使用marquee元素制作滚动广告 20
实例017 在网站首页中添加视频广告 21
实例018 在网站首页中添加音频广告 22
2.5 综合实例 22
实例019 使用DreamWeaver制作模板页 23
实例020 使用DreamWeaver制作内容页 24
实例021 将模板页替换为ASP .NET母版页 25
实例022 在开发中应用母版页制作风格统一的内容页 27
第3章 样式与主题(教学视频:37分钟) 29
3.1 样式基础 29
实例023 在ASP .NET和HTML页面中定义样式 29
实例024 在ASP .NET和HTML页面引用外部样式表文件 31
3.2 在样式中使用伪类 33
实例025 鼠标单击链接的样式 33
实例026 控制鼠标悬停的样式 34
3.3 使用样式控制ASP .NET控件外观 35
实例027 ASP .NET常见控件适用样式 35
实例028 复杂数据绑定样式适用样式 37
3.4 在ASP .NET开发中使用主题 39
实例029 控件主题 39
实例030 网页主题 40
实例031 主题切换 41
实例032 图片主题 43
3.5 综合应用 44
实例033 使用主题和样式设计无限酷网上书城 44
第4章 使用JavaScript提高用户体验(教学视频:46分钟) 46
4.1 JavaScript常见应用 46
实例034 设置当前页为浏览器默认页 46
实例035 将本站添加至收藏夹 48
实例036 当用户离开网站时弹出的收藏夹 49
实例037 使用JavaScript和JSON技术实现省市级联效果 49
4.2 JavaScript开启新窗口 50
实例038 使用JavaScript打开广告窗口 51
实例039 在弹出广告窗口后自动关闭广告窗口 51
实例040 使用JavaScrpit控制广告窗口弹出的位置 52
实例041 使用JavaScript操作Cookie 53
实例042 在弹出的广告窗口中添加关闭按钮 55
实例043 使用JavaScript刷新广告窗口父窗口 55
实例044 关闭广告窗口不允许弹出提示对话框 56
4.3 JavaScript制作动态导航栏 57
实例045 仿Office的下拉式菜单导航栏 57
实例046 动态显示提示信息的解释菜单 59
实例047 缩进停留式菜单 61
第2篇 控 件 操 作
第5章 常用HTML控件和Web控件(教学视频:109分钟) 66
5.1 HTML控件 66
实例048 使用文本框制作登录页面 66
实例049 使用单选按钮和复选框实现网络问卷调查 67
实例050 使用下拉框和列表框实现级联下拉选择 69
5.2 ASP .NET文本控件 70
实例051 密码框 70
实例052 使用Label控件显示日期 71
实例053 使用金额格式的文本 71
实例054 多行文本框应用 72
5.3 ASP .NET选择控件 73
实例055 动态添加DropDownList选择项 74
实例056 DropDownList的数据绑定 75
实例057 RadioButton实现互斥 77
实例058 利用RadioButtonList制作网络调查问卷 78
实例059 使用CheckBox选择个人爱好 81
实例060 动态添加CheckBoxList中的选择项 82
5.4 站内导航与导航控件 83
实例061 LinkButton控件与HyperLink控件 84
实例062 ImageMap控件实现热点地图导航 85
实例063 简单图片导航 88
实例064 在GridView中使用链接模板列 88
实例065 在sitemap文件中设计站点导航地图 91
实例066 使用sitemap文件和面包屑导航 92
实例067 使用sitemap文件和Menu控件制作导航栏 93
实例068 使用sitemap文件和TreeView控件制作OA导航栏 95
5.5 用户登录与注册控件 98
实例069 Login控件 99
实例070 创建用户并登录 100
5.6 使用ASP .NET控件显示图片 102
实例071 在数据绑定控件中动态显示图片 102
实例072 头像选择窗口 103
实例073 图片的上传和下载 105
5.7 综合应用 110
实例074 使用注册控件和选择控件制作的网上商城注册页面 110
实例075 在博客资料完善页面中实现个人照片上传和预览功能 112
第6章 ASP .NET验证控件(教学视频:39分钟) 115
6.1 数据类型、范围验证 115
实例076 日期类型验证 115
实例077 年龄范围验证 116
实例078 常用用户名格式验证 117
实例079 入学日期必须小于毕业日期 118
实例080 汉字录入验证 119
实例081 护照验证 120
6.2 文本验证 121
实例082 使用正则表达式验证控件进行邮件格式验证 121
实例083 文本非空验证 122
实例084 使用正则表达式验证控件进行身份证号码验证 122
6.3 自定义验证控件和验证消息显示控件 123
实例085 使用自定义验证控件验证货币格式 124
实例086 ValidationSummary控件显示验证消息 125
6.4 综合应用 127
实例087 在校友录注册页面中使用验证控件 127
实例088 在用户注册页面中使用自定义验证控件 127
第3篇 C#语言基础
第7章 .NET 3.5提供的C#新特性(教学视频:44分钟) 132
7.1 C#的新特性 132
实例089 匿名类型、var关键字 132
实例090 自动属性、集合初始化器、对象初始化器 133
实例091 扩展方法 134
实例092 泛型委托和Lamdba实现计算器 135
实例093 泛型委托和Lamdba实现货币和日期格式转换 137
7.2 LINQ to Objects 139
实例094 查询泛型集合中的数据 139
实例095 整型数组排序 140
实例096 获取产品价格最大值、最小值、和值、平均值 142
实例097 使用LINQ to Objects获取字符串中的某个单词或字符串的出现次数 143
实例098 使用LINQ与正则表达式实筛选聊天记录 144
7.3 LINQ to XML 146
实例099 检索XML文档中的数据 146
实例100 使用LINQ操作XML 147
第8章 日期操作、日期控件和字符串(教学视频:89分钟) 150
8.1 在ASP .NET中使用日期控件 150
实例101 通过Calendar控件指定日期 150
实例102 使用My97DatePicker实现日期选择 151
实例103 自定义日程表 153
8.2 日期操作 155
实例104 计算两日期时间间隔 156
实例105 获取当前日期和时间 157
实例106 获取星期信息 157
实例107 获取当前年的天数 158
实例108 获取当前月的天数 159
实例109 获取当前日期的前一天 160
8.3 string基本操作 160
实例110 字符串比较 161
实例111 定位子字符串 162
实例112 利用格式化字符串组装成语 162
实例113 自定义格式化字符串 163
实例114 字符串连接 165
实例115 分割字符串 166
实例116 插入和填充字符串 167
实例117 删除和剪切字符串 168
实例118 复制字符串 170
实例119 替换字符串 171
8.4 动态字符串StringBuilder操作 172
实例120 追加字符串 172
实例121 插入字符串 174
实例122 删除字符串 175
实例123 替换字符串 175
8.5 字符串编码与解码 177
实例124 URL编码 177
实例125 URL解码 178
8.6 综合应用 179
实例126 使用格式字符串实现世界时间转换功能 179
第4篇 ASP .NET特色技术
第9章 ASP .NET内置对象(教学视频:69分钟) 182
9.1 页面传值 182
实例127 使用URL传递参数 182
实例128 Session对象跨页面传值 184
实例129 跨页提交数据 186
9.2 ASP .NET全局控制 188
实例130 在线人数 188
实例131 登录日志 190
实例132 综合统计用户在线时间 192
实例133 获取网站访问人数 194
实例134 获取单日访问人数 195
实例135 公告信息发布 197
实例136 私聊功能 198
实例137 用户登录状态保持 203
实例138 投票保护 205
9.3 获取客户端信息 206
实例139 检测客户端浏览器类型 207
实例140 获取客户端操作系统、语言环境和IP地址 207
9.4 购物车 208
实例141 获取购物车中的商品 209
实例142 清空购物车 211
实例143 移除指定商品 212
第10章 Web Service(教学视频:53分钟) 213
10.1 Web服务基础 213
实例144 创建第一个Web服务 213
实例145 Web服务实现简单计算器 215
10.2 提供数据操作的Web服务 217
实例146 利用Web服务实现员工信息录入 217
实例147 Web服务中调用存储过程 219
10.3 常见Web服务的使用 220
实例148 通过邮件发送功能的Web服务 220
实例149 调用第三方Web服务获取天气预报 222
实例150 提供购物车支付信息的Web服务 225
10.4 其他Web服务 227
实例151 Web服务上传和下载图片 227
实例152 Web服务实现验证码 229
实例153 使用Web服务提供当前服务器信息 230
实例154 使用Web服务提供会员编号 232
10.5 综合应用 233
实例155 使用Web服务实现火车时刻表查询 233
第11章 AJAX应用开发(教学视频:59分钟) 236
11.1 AJAX下载与安装 236
实例156 AJAX Control Toolkit安装与下载 236
11.2 AutoCompleteExtender控件 238
实例157 使用AutoCompleteExtender控件实现自动完成 239
实例158 使用AutoCompleteExtender控件实现文本智能匹配 241
11.3 AJAX验证 242
实例159 智能密码强度提示 242
实例160 使用ValidatorCalloutExtender控件实现更美观的登录验证 244
11.4 常见AJAX控件 244
实例161 使用Accordion控件实现折叠面板 245
实例162 使用DragPanelExtender控件实现拖曳层 246
实例163 使用Timer控件实现AJAX聊天室 248
实例164 使用CollapsiblePanelExtender实现最小化 252
11.5 其他AJAX控件 254
实例165 倒计时秒表 254
实例166 使用ModalPopupExtender控件实现阴影效果的模态窗口 255
实例167 使用AJAX Calendar控件实现日期选择 256
11.6 综合应用 257
实例168 在网上商城商品展示页面中使用AJAX技术 257
第12章 ASP .NET高级应用(教学视频:43分钟) 260
12.1 Office文件操作 260
实例169 Office文件操作 260
12.2 E-mail 261
实例170 使用System.Web.Mail发送E-mail 262
实例171 使用Jmail组件接收E-mail 265
12.3 站点搜索功能 268
实例172 简单搜索 268
实例173 复杂搜索 269
12.4 账户安全 270
实例174 普通登录 271
实例175 单点登录 273
实例176 MD5加密登录用户密码 274
12.4 综合应用 276
实例177 在网上商城中增强用户登录安全性 276
实例178 远程教育系统 277
第13章 报表与打印(教学视频:19分钟) 279
13.1 在页面中实现打印 279
实例179 利用JavaScript实现打印 279
实例180 利用WebBrowser组件实现打印 280
13.2 rdlc报表 281
实例181 年度产品销售额汇总报表 281
实例182 产品类型销售额年度统计报表 285
13.3 高级报表 287
实例183 使用参数和表达式进行报表数据筛选 287
实例184 在酒店管理系统中应用报表显示客房入住综合信息 290
第14章 图形图像与多媒体(教学视频:71分钟) 291
14.1 简单图像绘制 291
实例185 绘制直线、矩形和多边形 292
实例186 绘制圆形、椭圆形和扇形 294
实例187 绘制带有阴影效果的矩形 297
14.2 绘制验证码 298
实例188 混合验证码 298
实例189 汉字验证码 301
14.3 使用GDI+技术绘制图表 303
实例190 投票结果 304
实例191 网站流量柱形图表 307
实例192 使用Office组件创建立体统计图 309
实例193 人口出生率折线图表 311
实例194 男女比例饼形图 313
14.4 头像选择 315
实例195 通过下拉列表获取头像 315
实例196 通过弹出窗口获取头像 317
14.5 控制和显示图片特效、Flash 319
实例197 通过鼠标滑轮控制图片大小 319
实例198 显示随机图像 320
实例199 获取图像的实际尺寸 322
实例200 页面插入Flash动画 323
实例201 制作房间类型分析饼图页面 324
第5篇 数据库和文件操作
第15章 ADO .NET应用(教学视频:73分钟) 328
15.1 数据库连接 328
实例202 Access数据库连接 328
实例203 使用登录密码的Access数据库 329
实例204 访问Excel文件 331
实例205 连接SQL Server数据库 332
实例206 MySQL数据库连接 333
15.2 添加数据 334
实例207 录入员工信息 334
实例208 插入多记录 336
15.3 更新数据 339
实例209 更新员工信息 339
实例210 使用时间戳防止并发冲突 341
实例211 更新多个会员卡状态 345
15.4 删除数据 348
实例212 删除会员卡 349
实例213 批量删除记录 351
实例214 删除整表记录 354
实例215 恢复自增序列的初始状态 356
15.5 图片存取技术 358
实例216 上传图片URL存储到数据库中 358
实例217 二进制格式存储用户密保卡图片 360
15.6 综合应用 361
实例218 在网站开发中应用抽象工厂模式实现多数据库支持 361
第16章 ASP .NET数据绑定(教学视频:152分钟) 365
16.1 数据源绑定 365
实例219 通过绑定表达式格式化数据显示 365
实例220 DataBinder.Eval绑定数据库中图片路径 367
实例221 使用Eval()方法或Bind()方法绑定DataList控件显示员工信息 368
实例222 简单变量绑定实现投票系统 370
实例223 泛型集合数据绑定 373
实例224 绑定表达式 374
实例225 绑定方法返回值 375
16.2 控件绑定数据 377
实例226 Repeater控件实现商品展示页面 377
实例227 ListBox控件的数据绑定 379
实例228 使用其他集合对象作为数据源 381
16.3 XML数据绑定 383
实例229 使用XmlDataSource控件绑定TreeView控件 383
实例230 使用XML文件作为数据源的GridView控件 385
实例231 使用XPath表达式过滤XML数据 385
16.4 GridView使用方法大全 386
实例232 数据库连接向导 386
实例233 GridView控件简单数据绑定 390
实例234 使用GridView控件的事件管理员工信息 390
实例235 GridView实现简单数据排序 393
实例236 模板列数据绑定 396
实例237 自定义模板列 399
实例238 翻页数据多选 403
实例239 删除询问对话框 405
实例240 光棒效果 406
实例241 在新窗口显示详细信息 408
实例242 文本长度控制 411
实例243 文本换行 412
实例244 主外键表数据显示 414
实例245 将数据导入Excel中 416
实例246 读取Excel中的数据 418
实例247 数据导入Excel时进行格式控制 419
实例248 GridView控件实现简单计算 420
实例249 在GridView控件数据编辑时实现客户端数据验证 422
实例250 设置单元格格式 424
16.5 DataList控件 426
实例251 DataList控件的数据绑定 426
实例252 使用PagedDataSource对象实现DataList分页 431
实例253 获取DataList控件中的子控件 434
16.6 Repeater控件 436
实例254 Repeater控件数据绑定 436
实例255 Repeater控件分页 438
实例256 使用Repeater控件实现员工销售额的RSS消息订阅 442
第17章 SQL查询相关技术(教学视频:117分钟) 445
17.1 简单查询 445
实例257 查询指定列数据 445
实例258 列别名和表别名 447
实例259 WHERE子句筛选数据 448
实例260 使用聚合函数的查询 450
实例261 数字查询 453
实例262 日期数据查询 455
实例263 字符串查询 456
实例264 空数据查询 458
实例265 逻辑型数据查询 459
实例266 字符串数据变量查询 461
实例267 数值型变量查询 463
实例268 日期型变量查询 465
实例269 简单模糊查询 467
实例270 模糊查询中应用_通配符 469
实例271 模糊查询中应用%通配符 470
实例272 模糊查询中应用[]通配符 472
实例273 模糊查询中应用[^]通配符 473
17.2 TOP和PERCENT关键字 475
实例274 查询前10行数据 475
实例275 取出排序后结果前10名数据 476
实例276 查询销量最高的前50%的书籍 478
实例277 获取占库存量20%的图书 480
17.3 日期查询 481
实例278 查询指定时间段的数据 481
实例279 指定日期部分查询数据 483
17.4 比较表达式、逻辑、重复查询 485
实例280 利用比较表达式筛选数据 485
实例281 NOT关键字 486
实例282 DISTINCT关键字筛选重复记录 489
实例283 获取数据中的重复记录和记录条数 490
17.5 OR和AND关键字 492
实例284 OR关键字链接逻辑表达式 492
实例285 AND关键字链接逻辑表达式 494
实例286 OR和AND关键字组装复杂逻辑表达式 496
17.6 综合应用 497
实例287 使用排序查询显示商城最热商品排行榜 497
实例288 使用多条件查询实现商品筛选页面 498
第18章 复杂查询统计(教学视频:142分钟) 500
18.1 数据排序和分组统计 500
实例289 简单分组 500
实例290 利用ALL关键字分组 502
实例291 CUBE关键字 503
实例292 ROLLUP关键字 505
实例293 数据降序查询 507
实例294 多列排序查询 508
实例295 统计结果排序 509
实例296 复杂分组统计 510
实例297 多表分组统计 511
实例298 COMPUTE关键字 512
实例299 COMPUTE BY关键字 513
18.2 使用聚合函数 515
实例300 使用SUM()函数汇总 515
实例301 使用AVG()函数求平均值 516
实例302 使用MIN()函数求最小值 517
实例303 使用MAX()函数求最大值 519
实例304 使用COUNT()函数求结果集行数 520
18.3 多表查询链接 521
实例305 多表连接查询 521
实例306 在连接查询中使用表别名 523
实例307 使用UNION关键字合并多个结果集 523
18.4 子查询 525
实例308 简单子查询 525
实例309 复杂子查询 526
实例310 子查询在查询统计中的应用 527
实例311 用子查询作临时结果集 529
实例312 用子查询作表达式 530
实例313 在UPDATE语句中应用子查询 531
18.5 UNION关键字 533
实例314 利用UNION关键字实现结果集连接 533
实例315 UNION结果集排序 534
18.6 内连接查询 535
实例316 简单内连接查询 536
实例317 复杂内连接查询 537
18.7 外连接查询 539
实例318 左外连接查询 539
实例319 右外连接查询 541
18.8 利用IN进行查询 542
实例320 使用IN关键字查询筛选数据 542
实例321 使用IN查询表中的记录信息 543
18.9 交叉表查询 544
实例322 静态交叉表 544
实例323 动态交叉表 546
18.10 常见函数查询 549
实例324 Access格式化函数查询 549
实例325 Access字符串函数查询 551
实例326 SQL Server 2005日期函数查询 552
18.11 HAVING子句 554
实例327 HAVING子句控制分组统计结果 554
实例328 HAVING子句构建复杂分组查询 555
18.12 综合应用 556
实例329 使用复杂查询实现员工工资统计 556
实例330 制作员工考勤统计交叉表 557
第19章 视图、存储过程及触发器的应用(教学视频:59分钟) 559
19.1 视图 559
实例331 查询视图中的数据 560
实例332 获取当前数据库中的视图信息 561
实例333 修改视图数据 563
19.2 存储过程 566
实例334 存储过程简单应用 566
实例335 存储过程添加数据 568
实例336 存储过程修改数据 571
实例337 存储过程删除数据 573
实例338 存储过程查询数据 575
实例339 获取当前数据库中的存储过程信息 576
实例340 加密数据库中的存储过程源码 577
实例341 关闭SQL数据库连接进程的存储过程 578
19.3 触发器 581
实例342 INSERT触发器 582
实例343 UPDATE触发器 585
实例344 嵌套触发器 588
实例345 获取当前数据库中的触发器信息 591
19.4 综合应用 592
实例346 使用触发器完成商城用户积分自动刷新功能 592
第20章 LINQ to SQL(教学视频:98分钟) 594
20.1 LINQ to SQL基础 594
实例347 使用LINQ to SQL替代传统查询 594
实例348 数据分组 596
实例349 使用LINQ to SQL分页 599
20.2 LINQ to SQL操作数据 601
实例350 使用LINQ to SQL进行增、删、改的操作 601
实例351 使用LINQ操作日志 604
20.3 LINQ to SQL进阶 605
实例352 分组并排序 605
实例353 简单分组统计 607
实例354 多数据列分组 608
实例355 简单交叉连接 609
实例356 交叉连接分组查询 610
实例357 使用where子句限定数值范围 611
实例358 查询指定日期部分的数据 611
实例359 使用Any筛选已被订购的产品 612
实例360 查询被订购的停产产品 613
实例361 使用All筛选已拿到订单货物的客户 614
实例362 使用Contains筛选未被订购的产品信息 615
实例363 LINQ中一对多查询 616
实例364 LINQ中多对多查询 617
实例365 获取结果集中相交项 618
实例366 排除集合中的相同项 619
实例367 删除结果集中的重复项 620
实例368 使用表达式进行分组查询 620
实例369 查询视图 621
实例370 执行标量存储过程 622
实例371 执行查询存储过程 623
实例372 筛选空数据 624
实例373 内连接查询 625
实例374 左外连接 626
实例375 内连接 627
第21章 XML技术(教学视频:41分钟) 629
21.1 读写XML文件 629
实例376 读取XML文件 629
实例377 写入XML文件 630
实例378 在数据库中读取XML数据 631
21.2 XML文件节点操作 632
实例379 追加XML节点 633
实例380 插入XML节点 635
实例381 XPath应用-定位XML节点的位置 637
实例382 删除XML节点 638
21.3 XML文件与页面交互 639
实例383 RSS订阅页面 639
实例384 XML文件和DataSet的相互转换 641
实例385 让XML文件以HTML格式呈现 642
21.4 XML文件加密和解密 643
实例386 XML文件加密和解密 643
21.5 综合应用 646
实例387 使用XML文件存储信息的留言板 646
第22章 文件操作(教学视频:74分钟) 649
22.1 文件夹操作 649
实例388 创建、移动与删除文件夹 650
实例389 判断文件夹是否存在 653
实例390 遍历子文件夹 654
22.2 文件操作 655
实例391 文件基本操作 656
实例392 文件重命名 659
实例393 文件的简单读写 660
实例394 判断文件是否存在 663
22.3 文件上传与下载 664
实例395 简单文件上传 664
实例396 复杂文件上传 666
实例397 上传图片并显示 668
实例398 文件下载 669
实例399 用ASP .NET传送大文件 670
22.4 遍历文件 671
实例400 递归遍历指定路径下的所有文件夹和文件 672
实例401 递归遍历指定驱动器的所有文件夹和文件 674
22.5 在线压缩和解压文件 675
实例402 在线文件压缩 675
实例403 在线文件解压 677
22.6 其他 679
实例404 获取服务器注册表信息 679
实例405 获取服务器驱动器信息 680
22.7 综合应用 682
实例406 网络硬盘系统开发 682
第6篇 综 合 应 用
第23章 站点设计与配色(教学视频:33分钟) 688
23.1 企业站点 688
实例407 汽车销售站点设计、配色分析 689
实例408 医药连锁站点设计、配色分析 691
实例409 硬件产品站点设计、配色分析 692
实例410 软件产品站点设计、配色分析 693
实例411 物流站点设计、配色分析 694
实例412 宾馆酒店站点设计、配色分析 695
23.2 电子商务站点 697
实例413 B2C站点设计、配色分析 697
实例414 B2B电子商务站点设计、配色分析 699
23.3 机构类站点 700
实例415 政务站点设计、配色分析 700
实例416 银行站点设计、配色分析 701
实例417 新闻站点设计、配色分析 702
23.4 生活资讯、娱乐类站点 704
实例418 家居站点设计、配色分析 704
实例419 电影网站点设计、配色分析 705
第24章 无限酷网上书城(教学视频:16分钟) 707
24.1 购物网站总体设计 707
实例420 购物网站总体设计 707
24.2 业务逻辑实现 709
实例421 注册页面设计 709
实例422 登录页面 710
实例423 购物主页 713
实例424 购物车页面 715
实例425 订单确认页面 717
第25章 酒店管理系统(教学视频:7分钟) 720
25.1 系统设计 720
实例426 业务规则和数据库设计 720
25.2 酒店管理系统开发 720
实例427 房态图页面开发 721
实例428 房间预订页面 723
实例429 制作房间类型分析饼图页面 725
⑷ android开发框架有哪些
1、Rajawali
介绍:
安卓的OpenGL ES 2.0/3.0 引擎。可以用于制作普通应用或者动态壁纸,当然也可以用于制作游戏。
项目地址: https://github.com/Rajawali/Rajawali
2、RxAndroid
介绍:
RxAndroid是RxJava的一个针对Android平台的扩展。它包含了一些能够简化Android开发的工具。
项目地址: https://github.com/ReactiveX/RxAndroid
3、Paginize
介绍:
Paginize 是一个轻量级的UI框架,使用注解来注入布局和view,除了使用注解之外,该框架还有两个特色:1.用Page的概念来取代Fragment,2.切换page时自带ios风格的动画效果。
项目地址: https://github.com/neevek/Paginize
4、otto
介绍:
Otto 是square公司出的一个事件库(pub/sub模式),用来简化应用程序组件之间的通讯。 Otto 修改自Google的Guava库,专门为Android平台进行了优化。
项目地址: https://github.com/square/otto
5 、rebound
介绍:
rebound是facebook的开源动画库。可以认为这个动画库是独立于android Framework之外的一种动画实现。
项目地址: https://github.com/facebook/rebound
6、KJFrameForAndroid
介绍:
KJFrameForAndroid 又叫KJLibrary,是一个帮助快速开发的框架。使用KJFrameForAndroid,你可以只用一行代码就完成http请求、网络图片加载、数据库数据保存或读取。
项目地址: https://github.com/kymjs/KJFrameForAndroid
7、xUtils
介绍:
xUtils
包含了很多实用的android工具。 xUtils
支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls
最低兼容android 2.2 (api level 8)
项目地址: https://github.com/wyouflf/xUtils
目前xUtils主要有四大模块:
DbUtils模块:
android中的orm框架,一行代码就可以进行增删改查;
支持事务,默认关闭;
可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
支持绑定外键,保存实体时外键关联实体自动保存或更新;
自动加载外键关联实体,支持延时加载;
支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。
ViewUtils模块:
android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
HttpUtils模块:
支持同步,异步方式的请求;
支持大文件上传,上传大文件不会oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。
BitmapUtils模块:
加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
支持加载网络图片和本地图片;
内存管理使用lru算法,更好的管理bitmap内存;
可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...
8、butterknife-view
注入工具
介绍:
为了减少频繁的调用findViewById(R.id...),可以采用一些注入框架,可以简化自己的代码,让你更专注于实际的功能开发,butterknife就是这样的一个框架,他是jakewharton大神的作品,值得一试。
class ExampleActivity extends Activity {
@InjectView(R.id.title) TextView title;
@InjectView(R.id.subtitle) TextView subtitle;
@InjectView(R.id.footer) TextView footer;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
ButterKnife.inject(this);
// TODO Use "injected" views...
}
}
这是博客地址:
http://jakewharton.github.io/butterknife/
项目地址: https://github.com/JakeWharton/butterknife
9、cube-sdk
一淘推出的开发框架
介绍:
cube一个Android开发包, 可极大提高你的开发效率。主要提供了图片加载以及网络请求方面的api功能。
项目地址: https://github.com/etao-open-source/cube-sdk
他们的网站:http://cube-sdk.liaohuqiu.net/cn/
10、ASimpleCache
一个简单的缓存框架
介绍:
ASimpleCache
是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。
它可以缓存什么东西?普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和
byte数据。
项目地址: https://github.com/yangfuhai/ASimpleCache
11、androidannotations
介绍:
AndroidAnnotations是一个能够让你快速进行Android开发的开源框架,它能让你专注于真正重要的地方。
使代码更加精简,使项目更加容易维护,它的目标就是“Fast Android Development.Easy maintainance”。
通过一段时间的使用发现,相比原生的Android开发,确实能够让你少些很多代码
项目地址: https://github.com/excilys/androidannotations
12、Event Bus
解耦android模块
介绍:
当一个Android应用功能越来越多的时候,保证应用的各个部分之间高效的通信将变得越来越困难。如何优雅地解决这个问题?这时候,就需要使用到EventBus。
EventBus是GreenRobot出品的Android系统的一个Event
Bus类库,使用起来和之前我们所介绍的Square的Otto差不多,都是用来简化应用组件之间的通信。
项目地址: https://github.com/greenrobot/EventBus
13、BeeFramework_Android
介绍:
BeeFramework
Android版主要为Android初级开发人员提供一个基于MVC开发模式的APP DEMO,并提供一套APP内调试工具,包括
查看网络数据请求历史 Crash Log列表 真机WIFI环境下模拟2G\3G网络 查看APP性能(内存占用,CPU占用等)
项目地址: https://github.com/BeeFramework/BeeFramework_Android
14、afinal
介绍:
Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。
Afinal里面目前包含了四大组件:
FinalHttp:用于请求http数据,直接ajax方式请求,文件上传, 断点续传下载文件等
FinalBitmap:用于显示bitmap图片,而无需考虑线程并发和oom等问题。
FinalActivity:完全可以通过注解方式绑定控件和事件,无需编写代码。
FinalDb:android中sqlite的orm框架,一行代码搞定增删改查。
Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。详情请通过以下网址查看。
项目地址: https://github.com/yangfuhai/afinal
15、Volley
介绍:
在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google
I/O 2013上,Volley发布了。Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。
项目地址: https://github.com/mcxiaoke/android-volley
⑸ java,web程序设计要学些什么
第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架; (基础)
第二阶段:java界面编程,包括AWT,事件机制,SWING,(不常用)这个部分也可以跳过,用的时候再看都能来及;
第三阶段:java API:输入输出,多线程,网络编程,反射注解等,java的精华部分(重点);
第四阶段:数据库SQL基础,包括增删改查操作以及多表查询; Oracle Mysql
第五阶段:JDBC编程:包括JDBC原理,JDBC连接库,JDBC API,虽然现在Hibernate比JDBC要方便许多,但是JDBC技术仍然在使用,JDBC思想尤为重要;
第六阶段:JDBC深入理解高级特性:包括数据库连接池,存储过程,触发器,CRM思想(高级)这个比较不好懂,有时间的可以学习;
第七阶段:HTML语言学习,包括HTML标签,表单标签以及CSS,这是Web应用开发的基础;
第八阶段:JavaScript脚本语言,包括javaScript语法和对象,Ajax基础 ;就这两个方面的内容;
第九阶段:Servlet开发,从此开始踏入javaWeb开发的重要一步,包括XML,Tomcat服务器的安装使用操作,HTTP协议简单理解,Servlet API等,java web开发的基础。 (重要)
第十阶段:JSP开发:JSP语法和标签,自定义标签,EL,JSTL库了解以及MVC三层架构的设计模式理念;
第十一阶段:AJAX开发:AJAX原理,请求响应处理,AJAX开发库,Jquery;
第十二阶段:三大框架-struts、spring、hibernate,javaWeb的精华部分(重要)
第十三阶段:其他框架学习-springMVC、mybatis,目前比较主流的框架
第十四阶段:当学习完这些知识后,你就可以深层次的学习一些企业框架,Maven、redis、log4j等等
第十五阶段:一般现在的公司企业用的系统服务器都是linux,所以有兴趣的可以学习一下,linux的各种命令
⑹ java 使用 AjaxUpload.js 实现上传文档的时候需要注意哪些
ajax是无法提交文件的,所以在上传图片并预览的时候,我们经常使用Ifame的方法实现看似异步的效果。但是这样总不是很方便的,AjaxFilleUpload.js对上面的方法进行了一个包装,使得我们不用去管理Iframe的一系列操作,也不用影响我们的页面结构,实现异步的文件提交。
html:
复制代码 代码如下:
<input type="file" name="upload" hidden="hidden" id="file_upload" accept=".zip" />
js:
复制代码 代码如下:
$.ajaxFileUpload({
url:'${pageContext.request.contextPath}/Manage/BR_restorePic.action', //需要链接到服务器地址
secureuri:false,
fileElementId:'file_upload', //文件选择框的id属性
dataType: 'text', //服务器返回的格式,可以是json、xml
success: function (data, status) //相当于java中try语句块的用法
{
$('#restoreDialog').html(data);
//alert(data);
},
error: function (data, status, e){ //相当于java中catch语句块的用法
$('#restoreDialog').html("上传失败,请重试");
}
});
这个方法还会出现一个问题,就是input只能使用一次的问题,input第二次的onchange将不会被执行,这应该是与浏览器的有关,解决办法就是替换这个input
像这样:
复制代码 代码如下:
$('#file_upload').replaceWith('<input type="file" name="upload" hidden="hidden" id="file_upload" accept=".zip" />');
⑺ java 做进度条 ajax实现 js jquery ext 都可以需要具体实现过程和代码 需要读取数据
这个好像做不到,现在一般有的效果就是上传文件时的进度条。
像你说得读取数据之类还没遇见过,一般也只是加个循环转动的图片等待而已,不能做到实时。
⑻ ajax上传文件后,后台java如何接收(求后台接收的完整代码)
写一个servlet或jsp来接收,在servlet或jsp处理业务逻辑,后返回处理结果或新的数据
如jsp:
<%@ page errorPage="/common/error/error.jsp" %>
<%@ page contentType="text/html;charset=GBK"%>
<%
String planeNumber = request.getParameter("planeNumber");
String planeType = com.aerolink.aocs.system.parameter.list.PlaneTypeFactory.getPlaneType(planeNumber);
response.getWriter().write(planeType);%>
⑼ Java中如何实现Ajax方式上传图片
你好,据我所知,Ajax不能上传图片,因为上传图片得把图片的二进制数据传送给WEB服务器。而Ajax不能完成。
如果楼主指点是无刷新上传图片。即不更改当前页面上传图片,利用STRUTS并在HTML页面中加一个iframe标签,CSS DISPLAY属性为NONE 而上传图片的表单的TARGET属性等于这个iframe的名字。
⑽ javascript 调用另一个页面的方法
其实最好的办法是用DIV模拟弹出窗口,然后用AJAX异步调用页面2,有一堆JS库可以简单的实现这个效果,但是问题就出在这个上传文件的控件上,因为不可控,不知道是否无刷新上传之类的,所以用window.open()开新窗口可能也是没有办法的办法。
用弹出窗口然后回调只能在页面2中通过window.opener调用页面1,不知道楼主是不是笔误,window.opener就可以了,后面不用再跟一个window了:
在页面1中定义一个参数:ImgPath
=
'';
在页面2中访问这个参数:window.opener.ImgPath
=
'newpath';