python导入工具包的关键字,python如何导入自己的包

本篇文章给大家谈谈python导入工具包的关键字,以及python如何导入自己的包,希望对各位有所帮助,不要忘了收藏本站喔。

Source code download: 本文相关源码

当我们在使用pycharm来编写代码时,通常会用到一些工具包,,这时就需要我们将这些工具包导入到我们创建好的项目中来;对于导入工具包,分为手动导入和自动导入。
一、自动导入工具包
自动导入的方法是:在开发工具pycharm中选择file->设置->项目->project Interpreter
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当出现“Package ‘xxxx’ installed successfuly”时,说明安装成功,你可以在下面的这个页面中找到你安装成功的包用python绘制满天星
在这里插入图片描述
二、手动安装
当在pycharm中不能自动安装我们所要的包时,我们也可以通过手动安装来解决我们的问题。
我们可以通过这个链接下载到我们所需要的工具包。
链接:PyPI · The Python Package Index
注意:下载下来的文件格式是wheel格式或者时压缩包格式的
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191208144820239.png在这里插入图片描述
压缩包格式我们可以在直接在我们项目的\venv\Lib\site-packages这个目录进行解压,解压完成后就可以使用了。
wheel格式的,我们首先要打开我们电脑的cmd,安装wheel这个工具。使用命令:pip install wheel
即可安装;
在这里插入图片描述
安装成功后,将我们下载好的工具包放到我们项目的\venv\Lib\site-packages这个目录下;之后在cmd 中进入到项目的\venv\Lib\site-packages路径下,再使用命令:

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
2014年09月12日 V2.85更新(推荐升级) 1.[*修复]修复后台某文件出现任意下载漏洞【感谢乌云[haitaowuyun]发现】 2.[*修复]修复前台存在的SQL注入风险漏洞【感谢乌云[语邑尘]发现】 3.[*修复]修复前台存在的xss跨站脚本攻击漏洞【感谢乌云[evil]发现】 4.[修复]修复内容页投票区域部分浏览器不会居中BUG 5.加强前台提交表单信息的安全过滤 6.修复几个细节BUG 2014年04月30日 V2.84更新(推荐升级) 1.修复安装向导配置时对数据库字符过滤不严存在入侵漏洞 2.修复后台模板样式文件字符过滤不严存在入侵漏洞 3.修复后台登录验证没有清空验证码信息,导致增加暴力解密风险 4.修复通过后台文章编辑附件栏自定义内容可能导致删掉网站任意文件的BUG 5.修复后台服务器文件管理,文件总大小超过几G会出现页面程序错误BUG 6.完善后台JS复制事件 7.修复其他BUG (1~4更新点感谢白帽:seraph1984,通过乌云平台告知我们网钛。这些入侵漏洞只要有根据程序后台引导页提示对后台文件夹进行重命名以及重命名或删掉安装向导文件夹均不会受影响) 2014年04月10日 V2.83更新 1.[纠正]纠正后台 会员参数设置 有时自适应高度不对的BUG 2.[纠正]纠正后台如果是用chrome核心浏览器,会造成底部一大截空白的BUG 3.[纠正]纠正部分浏览器后台导航菜单间间隔背景图会重复显示多次BUG 4.[纠正]纠正前台导航下拉二级菜单多次经过会出现重复伸缩问题 5.[纠正]选择服务器文件页面没有滚动条的BUG 2014年03月07日 V2.82更新 1.[新增]会员投稿管理也加入复制功能 2.[改进]改进后台文章管理 缩略图示意图,图片图标代表本地缩略图,电脑图标代表远程缩略图 3.[纠正]纠正外部调用代码会显示出未审核状态和隐藏状态的文章 4.[纠正]纠正外部调用代码对采用外部链接的文章路径没法显示正确 2013年10月23日 V2.81更新 1.[新增]文章管理 增加 复制 按钮,免去写形似文章的工作量,直接在现有的修改下即可成新文章 2.[改进]网站参数设置 增加 清除JS内容 按钮 3.修复其他几个小细节 2013年09月07日 V2.80更新 1.[改进]去掉旧版AJAXRequest换成jQuery中的AJAX 2.[改进]为了系统安全和稳定去掉宇初验证码和印象码,加入4种数字验证码、1种中文验证码、1种计算题验证码供用户选择 3.[改进]为了后台系统安全,后台登录页不用判断是否已登录状态并自动跳转到管理页 4.[改进]后台编辑器CKEditor V3.6.1升级到CKEditor V3.6.6 5.[改进]前台编辑器KindEditor V3.5.5升级到KindEditor V3.5.6 6.[纠正]纠正栏目管理中非顶级分类,次页显示模式选择[分类列表2]没提示不允许选择的提示 7.[纠正]纠正部分浏览器后台列表管理的复选框全选失效的BUG 8.[纠正]纠正部分浏览器后台列表管理的多选处理按钮和下拉菜单失效的BUG 9.[改变]后台兼容模式提升到IE8模式 10.修复其他诸多小细节 2013年07月19日 V2.74更新 1.[新增]后台引导页加入非IE浏览器提示,后台部分功能在非IE浏览器下可能没法使用 2.[修复]【紧急】纠正后台设皮肤目录存在入侵挂马BUG 3.[修复]纠正服务器时间跟保存到数据库里格式不同造成登录有时出现时间不匹配问题 4.[纠正]生成sitemap 纠正隐藏状态文章和未审核文章也会显示出来的BUG 5.[改变]后台 新增栏目 次页显示模式默认为【图+摘要1】,首页栏目图片文章默认开启 6.[改变]前台网站公告、搜索结果默认显示模式为【图+摘要1】 7.[改变]RSS调用默认调用数量从20改成50 2013年04月15日 V2.73更新 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去,后台更新下皮肤样式。 1.[改进]文章管理-评论管理 留言内容字符显示50字节扩大到80字节 2.[纠正]纠正后台登陆页密码框只能输入20字符的限制 3.[纠正]纠正栏目编辑时模式选择外部链接,导航菜单和首页栏目开关项没显示的BUG 4.[纠正]纠正sitemap生成把隐藏状态的文章也显示出来的bug 5.全站验证码默认选择传统数字型 6.修复其他小细节 2013年03月18日 V2.72更新 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去,后台更新下皮肤样式。 1.[修复]由于上传图片管理中的占用数不准确,故去除 2.[改进]前台编辑器字体和背景色盘由原来的十几色改成全色系 3.[改进]完善过滤script标签的JS函数 4.[改进]后台密码设置由原来限制最长20位扩展到50位 5.[纠正]纠正幻灯片下面的广告位和首页栏目广告位宽度少2像素BUG 6.修复其他小细节 2013年03月02日 V2.71更新 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去。 1.关键字管理的地址栏加入自动换行,防止网址过长造成右侧会没显示 2.列表页导航分页加入超过100分页时,下拉选择自动变成文本框输入,防止下拉项太多而影响速度 3.纠正文章管理因异常栏目信息,而造成页面错误 4.生成的缓存文件加入字符的编码,防止因配置内容含asp代码而造成程序出错 5.读取文件加入对0字节文件的错误判断处理 2013年01月11日 V2.7升级 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去。 1.纠正后台AJAX函数的加载图路径错误BUG 2.宇初验证码换成印象码 3.纠正后台引导页可能会被安全狗屏蔽的问题 4.自动完善内容页正文里的图片alt和title属性值 5.纠正富媒体验证码浮层层级问题 6.改进后台首页HTML代码 7.程序里“分类”纠正成“栏目” 8.纠正最新消息更多列表没加入最新消息文章属性限制 9.后台评论管理中,文章链接地址改用伪静态路径 10.去掉后台参数设置中,[后台头部界面]和[用户管理菜单]项 11.解决后台编辑器之前空2格低于一个汉字的问题 12.完善几个细节问题 13.整合20121103~20121220补丁 2012年12月20日 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去。 1.富媒体验证码更新到最新版 2.采集项目管理增加创建时间信息 3.上传图片和上传文件框加入编码指定,防止乱码出现 4.修复其他细节bug 2012年11月03日 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去。 1.纠正后台文章编辑时获取编辑器缩略图有时没有显示全的bug 2.纠正数据处理管理页面权限不对bug 3.后台文章管理快捷属性设置,加入 首图/缩图/幻灯/滚图 属性的是否有缩略图文件判断 4.纠正后台皮肤管理 高级模式中 界面框架主体(960px)项没保存到数据库的bug 5.前台内容页关键词替换,加入排除已有超连接或图片标签的内容替换 2012年07月06日 V2.6升级 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去。(如果之前没打过2012年05月25日补丁,需要在网站上运行admin/update_20120525.asp文件(如网址输入:http://你的域名/后台目录名/update_20120525.asp),升级完成后删掉update_20120525.asp文件;如果打过就跳过该步骤,直接删掉update_20120525.asp文件。) 1.后台 文章参数设置里的初始化设置,加入注释信息 2.后台 采集管理的[教程]链接纠正 3.皮肤管理加入2个皮肤风格下载路径 4.后台 网站参数设置对路径加入注释信息 5.其他细节修复 6.整合2012年03月27日~2012年06月07日补丁 2012年06月07日 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去。 1.[纠正]纠正一些站长工具检索不到网站关键词和网站描述 2.[纠正]纠正注册敏感词如有空值造成无法注册的BUG 3.纠正几处细节BUG 2012年05月25日 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去,覆盖好后,并在网站上运行admin/update_20120525.asp文件(如网址输入:http://你的域名/后台目录名/update_20120525.asp),升级完成后删掉update_20120525.asp文件。 1.后台 网站参数设置 新增验证码模式选择 2.后台 网站参数设置 纠正几处选项名称 3.纠正 关闭全站验证码 会员注册和登录 却还显示的BUG 2012年05月17日 1.纠正20120515补丁造成的页头JS失效BUG 2.纠正20120515补丁造成页头搜索项失效BUG 2012年05月15日 1.纠正后台皮肤管理的生成CSS样式的个别样式问题 2.文章编辑,获取编辑器图片增加bmp格式图片 3.纠正开启IP库时,如果没发现IP库会出现提示信息而不是页面出错 4.完善 字符串长度截取函数 5.改进前台底部友情链接间隔符 6.纠正留言和评论提交成功后会弹出验证码的BUG 7.纠正会员注册计算是否允许再次注册时出现页面错误BUG 8.纠正其他几个小细节 2012年04月17日 1.后台评论管理和留言管理内容加入强制换行,防止有时会撑爆页面 2.后台评论管理和留言管理新增允许修改用户留言/评论内容 2012年03月31日 1.[*紧急修复]修复次页存在的一个xss攻击安全漏洞 2.纠正当新的验证码无法使用时系统自动切换到传统数字验证码 3.其他几个小细节纠正 2012年03月27日 1.后台每页显示个数增加最大200限制 2.网站验证码改为富媒体验证码,更难以被识别和破解 3.其他几个小细节修复和完善 2012年03月21日 V2.5升级 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去。 1.[新增]前台会员投稿和后台文章编辑 新增重复性标题检查按钮和本地获取关键词 2.[新增]新增本地关键词库(位置:inc/keyWord.txt),可以根据自己需求往里面编辑需要的关键词 3.[新增]前台 文章管理 新增查询栏 4.[新增]后台 常规设置-底部栏目 新增链接 留言板 模式 5.[改进]后台 文章管理-栏目管理 文字和细节完善 6.[改进]后台 留言管理和评论管理 内容加入强行换行,防止个别情况撑爆界面 7.[改进]后台 友情链接管理 纠正新增框初始排序值有时非最大值问题 8.[改进]完善前台编辑器细节 9.[修复]后台 会员管理 注册日期查询是失效的BUG 10.[修复]修复留言本页面 会员注册/登录失效问题 11.其他细节修复 2012年02月29日 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去。 1.[修复]后台文章管理-栏目管理 二级栏目模式显示错误的BUG 2.[修复]前台页头导航栏二级栏目模式为单篇页时,链接无效BUG 2012年02月10日 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去。 1.[新增]后台新增文章时作者栏 加入{%称呼%}自动替换为当前后台用户昵称 2.[改进]后台分页数太多,提交成功后要提示下 3.[新增]后台引导页加入生成首页静态页判断 4.[改进]后台留言管理,对留言内容和用户名加入字符串强制换行 5.[修复]纠正前台投票时,当投票数超过32767时,程序会出错的BUG 2012年01月18日 bug修复 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去,覆盖好后,并在网站上运行admin/update_20120119.asp文件(如网址输入:http://你的域名/后台目录名/update_20120119.asp),升级完成后删掉update_20120119.asp文件。 1.修复“最新信息”列表页会显示出 没有设置“最新信息”属性的文章BUG 2.修复文章管理,状态查询失效BUG 3.栏目编辑 新增 外部链接/单页面 也可设置打开方式 4.内容页正文底部广告移到正文分页下面 5.新增编号22广告位,位于内容页正文分页上面 6.更换“分享到代码”为 百度分享,地址改成百度分享,加入默认内置代码重置,内容页分享代码移到正文底部 7.搜索栏新增京东商城搜索 2012年01月05日 V2.4升级 1.新增【管理员专区】->【数据处理管理】功能,可以批量替换数据和处理因敏感词而无法正常打开网页问题 2.纠正后台文章编辑,获取编辑器图片无法获取网络图片路径问题 3.后台文章管理,标题后面加入是否含缩略图的图标 4.纠正后台文章编辑,保存远程图片到本地,如果缩略图是网络图片没纠正成本地路径的BUG 5.删除网站参数设置里无用字段信息 6.后台友情链接新增 链接注释信息 栏 7.后台栏目编辑和单篇页编辑,加入模式选择(栏目、外部链接、单篇页) 8.更新免费版安装向导程序至V2.4,加入版本判断和数据库初始化功能 9.节日倒计时改为写文件方式保存缓存文件,以便无法访问外部的空间也可以正常使用该功能 10.整合12.4日补丁 2011年12月4日 bug修复 1.改进采集栏目中对过滤标签进行注释 2.采集过程中,加入 采集标题 去HTML化处理 3.改进保存远程图片和采集图片逻辑 4.几个小细节纠正 2011年11月24日 V2.3升级 1.MSXML2.XMLHTTP更换成MSXML2.ServerXMLHTTP,防止采集或生成首页静态页会卡死问题 2.纠正采集的图片标签中有js脚本时,可能会造成图片获取不到的BUG 3.友情链接管理,到期日期加入快捷的1、3、6、12个月的选择按钮 4.sitemap加入最后更新时间 5.对首页最新评论和最新留言中连续数字或者连续字母进行强制换行,防止内容被隐藏 6.解除对p、img、input、button等标签默认空隙的限制 7.屏蔽掉网站数据库和采集数据库的数据库还原功能 8.广告管理中广告编辑,加入上传本地图片到编辑器中功能 9.纠正内容页图文排版时,后台设置图片间距无效bug 10.纠正后台采集结果预览,列表小图为绝对路径时没显示出来的BUG 11.整合5.14~11.4的更新 2011年11月4日 BUG修复 1.修复11.1补丁造成的文章内容摘要过滤HTML失效而可能影响到前台排版问题【重要】 2011年11月1日 BUG修复+细节完善 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去;进入后台皮肤管理,点击[更新全部] 1.后台新增用户和修改用户名加入特殊符号过滤 2.纠正前台留言和评论,如果内容是连续数字或者英文可能会出现不能自动换行的BUG 3.首页logo加入首页超连接 4.纠正蒙层窗口分页导航含中文会错误的BUG 5.后台文章编辑,内容摘要编码化,防止破坏前台HTML代码 6.其他小细节修复 2011年10月13日 BUG修复+细节完善 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去 1.文章管理,标题编码化,防止因为含有HTML代码而排版错乱 2.后台有生成缓存文件的地方加入是否生成成功的判断 3.前台搜索 Google 搜索链接错误 4.减少打开蒙层窗口 要点击2次才会打开的机率 5.文章内容,超标图片下面新增[点击查看原图]超链接 2011年9月30日 BUG修复+细节完善 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去 1.广告管理加入【广告位具体位置说明】链接 2.提高导航下拉二级菜单的浮动层级,让其尽可能不会被其他元素覆盖了 3.纠正首页最新消息置顶文章和首页栏目more链接,当为外部链接时没采用外部链接bug 4.去掉生成首页静态页失败时用跳转语句替代 5.增加后台生成首页静态页错误的原因提示种类 2011年9月25日 功能增加+BUG修复+细节完善 ★更新方式:补丁里的所有文件覆盖进去 1.网站地图条数最大限制增至100万 2.去掉获取网站自身网址时加入端口的判断 3.采集项目修改,预览采集目标地址列加编号 4.纠正会员投稿保存时,出现js代码文字 5.采集入库相关文章和评论默认开启 2011年9月12日 BUG修复 ★更新方式:补丁里的所有文件覆盖进去 1.纠正前台编辑器明明有内容却提示没内容的BUG 2.纠正会员注册时有时没判断用户名的唯一性 3.纠正页头网站LOGO与右侧广告位错位3个像素BUG 4.针对百度SEO建议程序优化 (另:针对百度SEO优化请检查后台 网站参数设置-》网站基本信息-内容页“分享到”代码,如存在img标签并且不存在alt属性,请加上alt属性,不然会被扣‘图片Alt信息’分数,如“”改成“”) 2011年9月5日 细节完善+BUG修复 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去 1.纠正后台栏目管理,修改栏目所属,文章的分类没有相应纠正过来的BUG 2.纠正采集历史记录结果查询条件失效的BUG 3.前台编辑器更新到最新版KindEditor V3.5.5 4.后台编辑器更新到最新版ckeditor V3.6.1 2011年8月8日 细节完善+BUG修复 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去;进入后台皮肤管理,点击[更新全部] 1.上传文件名超长时,自动截断 2.纠正网速慢造成出现“stack overflow at line: 0”警示框的错误提示 3.纠正火狐导航下拉菜单只能显示1个子栏目BUG 4.纠正内容页的顶踩进度条在IE6下高度超出BUG 5.纠正114啦天气预报出错问题 6.几个小细节修复 2011年7月22日 细节完善+BUG修复 1.纠正广告管理,点查看代码,跳到页头BUG 2.纠正采集模块为隐藏状态时,新增/修改采集项目还会显示的BUG 3.后台 修改密码,新增其他信息设置菜单,加入列表页每页显示数量设置 4.完善新增栏目后会继承上个添加的部分信息 5.纠正2个小细节 2011年7月8日 细节完善+BUG修复 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去;进入后台皮肤管理,点击[更新全部] 1.纠正蒙层窗口关闭时,有时会造成部分页面元素被隐藏而没显示出来BUG 2.图片生成设置 加入是否aspJpeg组件是否支持的判断 3.后台引导页对网钛信息加入对空间访问官网的速度检测,如速度过慢,不自动获取官网信息 4.纠正列表页右侧分类导航IE浏览器右侧边线不见的BUG 5.纠正页面几个HTML标签错误 6.广告管理,加入生成缓存文件是否成功的提示信息 7.纠正导航菜单长度超过会折到第二行的BUG。 8.修复几个小细节 2011年6月16日 细节完善+BUG修复 ★更新方式:admin文件夹改成你后台目录名,然后补丁里的所有文件覆盖进去。 1.纠正IE6下评论和留言页面的分页下拉框掩盖住蒙层窗口bug 2.加强注册信息保存时的过滤 3.后台 文章评论和留言新增显示游客IP信息 4.纠正前台会员个别用户名出现登录上去了,却提示还未登录的BUG 5.改进广告管理 6.修复几个小细节 2011年6月3日 细节完善+BUG修复 1.外部调用,文章属性由且关系,改成用或关系 2.文章列表页增加【标题】(只有标题)、【分类列表2】(即一行显示2个类别)2种模式 3.文章 缩略图/图片 新增支持外部图片链接(http://开头的) 4.纠正皮肤管理中,更改模板样式文件名失效的问题 5.评论和留言,默认留言者改为“游客” 6.纠正后台引导页中会员待审核文章统计错误BUG 7.纠正后台文章管理(会员投稿)审核状态查询条件失效BUG 8.完善小细节 2011年5月27日 1.改进首页静态页每日自动生成的逻辑。 2.纠正单页面图片路径不是采用相对路径问题 3.纠正几个小细节 2011年5月20日 1.纠正RSS订阅,栏目有时显示不全问题 2.纠正会员模块小细节bug 3.纠正后台外部调用页,栏目有时显示不全问题 4.优化几个小细节代码 2011年5月14日 ★更新方式:直接覆盖。 1.纠正标签列表页分页错误 2.纠正友情链接采用远程图片时,内页显示不出来问题 3.纠正内容页需要会员登录状态时,内容没显示出来问题 4.纠正伪静态时列表页和内容页,标签超连接错误问题 5.纠正几个小细节 2011年5月10日 OTCMS V2.2 升级 ★更新方式:admin文件夹改成你后台目录名,然后直接覆盖,覆盖好后,并在网站上运行admin/update_5.8.asp文件(如网址输入:http://你的域名/后台目录名/update_5.8.asp),升级完成后删掉update_5.8.asp文件。 1.新增RSS功能 2.栏目标题改为:栏目名称+标题附加内容+网站名称 3.列表页新增标签信息 4.内容页新增标签信息和相关文章 5.新增功能外部调用代码 6.新增文章参数设置 7.多处小细节修复和完善 8.集成4月10日~4月26日的补丁 2011年4月26日 ★更新方式:admin文件夹改成你后台目录名,然后直接覆盖。 1.纠正后台设置项当为“-”或“.”造成前台读取文件错误问题 2.纠正后台皮肤管理权限ID匹配不正确问题 3.纠正伪静态时,导航菜单使用单页面是链接错误 4.纠正几个小细节 2011年4月20日 ★更新方式:admin文件夹改成你后台目录名,然后直接覆盖。 1.纠正个别滚动信息没显示出来的BUG 2.纠正伪静态内容页,评论数没递增Bug 3.后台索引页,授权信息获取方式修改 2011年4月12日 1.纠正V2.1前台会员投稿,栏目没关联上的问题 2.纠正单篇内容页页面错误打不开问题 3.纠正会员投稿点击提交一直卡在加载处理中状态 4.纠正V2.1前台会员投稿,栏目没关联上的问题 5.纠正V2.1后台采集栏目每关联上的问题 6.纠正几个其他小细节 2011年4月11日 1.纠正个别用户二级列表页显示不出内容的问题 2011年4月10日 ★更新方式:admin文件夹改成你后台目录名,然后直接覆盖。 1.纠正升级到V2.1后单篇内容页访问错误问题 2.纠正新增的114啦天气预报在伪静态列表页/内容页中找不到文件问题 3.纠正文章管理类别批量移动到更新到V2.1模式 2011年4月9日 OTCMS V2.1 升级 ★更新方式:admin文件夹改成你后台目录名,然后直接覆盖,覆盖好后,并在网站上运行admin/update_4.1.asp文件(如网址输入:http://你的域名/后台目录名/update_4.1.asp),升级完成后删掉update_4.1.asp文件。 1.重点对文章部分优化程序和数据库 2.获取网址信息加入端口判断,防止不是用默认端口80,会造成页面访问错误问题 3.纠正留言和评论通过非正规渠道提交而绕过字数限制BUG,及加强恶意灌水的防范措施。 4.纠正后台上传图片,选择swf时会提示图片格式无效问题。 5.去除网站参数中最新消息范围选取,改为新增文章属性最新消息 6.文章属性新增“首页缩略图”,首页栏目显示的图片文章于缩略图无关,于此属性有关 7.留言和评论加入楼层字段 8.会员发表文章采用新的编辑器kindeditor,并加入分页设置功能 9.纠正文字水印当为英文时定位位置不准确问题 10.纠正编辑器从word、excel里黏贴进来的样式丢失问题 11.新增对ok3w/老Y迁移程序迁移过来的会员登录支持 12.皮肤管理新增[全部更新]按钮,一次性更新所有皮肤css样式文件 13.新增页头日期 年月日星期、年月日时分秒星期 2种模式选择 14.新增页头天气预报 114啦天气预报 今天、今天明天 2种模式选择 15.新增滚动信息显示条数控制 16.新增搜索结果、网站公告列表页、最新消息列表页的每页条数控制 17.新增首页最新留言、最新评论的标题名称 18.新增评论、留言回复称呼和回复颜色自定义 19.新增生成sitemaps功能 20.新增会员重复注册时间间隔设置,及注册IP加入黑名单 21.新增IP记录管理,管理注册间隔时间和黑名单的IP信息 22.其他细节调整和优化 23.整合2.2日~3.2日的所有补丁 2011年3月2日 1.自动过滤掉内容页中正文的clear样式,已防止部分采集的内容被隐藏 2.纠正26日补丁造成的后台获取关键词失效问题 3.纠正后台皮肤管理出现JS错误问题 4.后台采集入库新增过滤内容摘要中的分页符 5.去掉页头JS时间时分秒及时间自动刷新 6.去掉最新消息及列表页的内容摘要链接 7.加入文章仅限会员阅读,而不需限制积分。 8.纠正评论、会员的文章管理分页失效问题。 9.优化部分代码 ★更新方式:直接覆盖,admin文件夹改成你后台目录名,覆盖好后,进入后台的皮肤管理【刷新】下当前使用的皮肤css文件(该补丁有改动皮肤样式文件,故需重新生成下)。 2011年2月26日 1.纠正之前漏加入的国外空间运行出错问题 2.会员退出登录后返回到当前页面,而不是首页 3.会员投稿提交后如为即时响应会有等待10秒设置,防止个别网站速度有所延时,造成会员重复提交问题。 4.首页最新留言去掉经过变粗,首页最新评论经过改成变下划线 5.纠正非动态路径时,站内搜索结果页,第二页开始页面错误问题 6.改善后台授权人信息栏代码 ★更新方式:直接覆盖,admin文件夹改成你后台目录名。 2011年2月23日 紧急补丁 1.【紧急】纠正22日补丁造成的连续新增文章而变成修改上一篇新增文章的问题。 2.首页栏目h1标签改成h2标签 3.首页栏目标题加入超连接 ★更新方式:直接覆盖,admin文件夹改成你后台目录名,覆盖好后,进入后台的皮肤管理【刷新】下当前使用的皮肤css文件。 2011年2月22日 1.纠正15日补丁造成的首页全3栏第一栏会掉下来的问题。【需要在后台对当前皮肤修改保存下以更新皮肤样式】 2.纠正文章内容页有些超连接文字字号偏小问题. 3.扩大导航菜单个数的选择,新增3~8 4.后台新增文章后跳到新增文章页时会自动内置些之前添加的信息 5.后台文章管理里新增“来源”“作者”查询条件 6.后台皮肤管理,新增[更新css]按钮 7.纠正前台搜索结果、网站公告列表、留言板右侧精彩推荐、点击排行没记录问题 2011年2月15日 1.纠正伪静态时,底部栏目链接错误问题 2.去掉底部栏目“请您留言”菜单 3.纠正首页中间模块部分向右偏移2像素问题【需要在后台对当前皮肤修改保存下以更新皮肤样式】 4.纠正伪静态是,当前位置的首页链接错误问题 5.在首页打开蒙层窗口时,暂停滚动信息和滚动图片的滚动,以消除光标闪烁频繁问题 6.会员等级里“管理员”等级暂时没用到,暂时屏蔽掉 7.纠正后台新增会员无法修改密码的错误 2011年2月8日 1.纠正后台皮肤管理,专业模式,保存出错问题 2.去除皮肤模板中,重复定义样式 3.纠正后台文章新增/修改结束,2秒倒计时返回有时会失效问题。 4.纠正伪静态路径文章内容页附件下载错误问题 5.新增皮肤导入/导出 6.纠正后台默认页网站统计信息,一周内/一个月内范围选取错误问题。 7.纠正后台编辑器对复制于word、excel文档的内容进行过滤格式问题 8.纠正伪静态时前台需用户登录才可查看的文章图片路径错误,及附件没显示出来问题(感谢 ♂嫼脃暒涳♀ 发现该问题) 2011年2月2日 1.纠正前台和后台获取关键字乱码问题 2.纠正内容页[上一篇][下一篇]没把隐藏状态的文章排除的问题 3.纠正注册时,个别注册成功而没有提示成功及刷新的问题 4.后台默认页新增网站统计信息,及安全性提示。 5.后台栏目管理加入栏目所属不能选择自己的判断,及新增检测有没有被遗漏的栏目 2011年1月31日 发布OTCMS V2.0 正式版
Python核心编程第二版(ok) 第1部分 Python核心  第1章 欢迎来到Python世界    1.1 什么是Python    1.2 起源    1.3 特点     1.3.1 高级     1.3.2 面向对象     1.3.3 可升级     1.3.4 可扩展     1.3.5 可移植性     1.3.6 易学     1.3.7 易读     1.3.8 易维护     1.3.9 健壮性     1.3.10 高效的快速原型开发工具     1.3.11 内存管理器     1.3.12 解释性和(字节)编译性    1.4 下载和安装Python    1.5 运行Python     1.5.1 命令行上的交互式解释器     1.5.2 从命令行启动脚本     1.5.3 集成开发环境     1.5.4 其他的集成开发环境和执行环境    1.6 Python文档    1.7 比较PythonPython与其他语言的比较)    1.8 其他实现    1.9 练习   第2章 快速入门    2.1 程序输出,1print语句及“HellocWorld!”    2.2 程序输入和raw_input()内建函数    2.3 注释    2.4 操作符    2.5 变量和赋值    2.6 数字    2.7 字符串    2.8 列表和元组    2.9 字典    2.10 代码块及缩进对齐    2.11 if语句    2.12 while循环    2.13 for循环和range()内建函数    2.14 列表解析    2.15 文件和内建函数open().cfile()    2.16 错误和异常    2.17 函数     2.17.1 如何定义函数     2.17.2 如何调用函数     2.17.3 默认参数    2.18 类    2.19 模块     2.19.1 如何导入模块     2.19.2 如何访问一个模块函数或访问一个模块变量    2.20 实用的函数    2.21 练习   第3章 Python基础    3.1 语句和语法     3.1.1 注释(#)     3.1.2 继续()     3.1.3 多个语句构成代码组()     3.1.4 代码组由不同的缩进分隔     3.1.5 同一行书写多个语句(;)     3.1.6 模块    3.2 变量赋值     3.2.1 赋值操作符     3.2.2 增量赋值     3.2.3 多重赋值     3.2.4 “多元”赋值    3.3 标识符     3.3.1 合法的Python标识符     3.3.2 关键字     3.3.3 内建     3.3.4 专用下划线标识符    3.4 基本风格指南     3.4.1 模块结构和布局     3.4.2 在主程序中书写测试代码    3.5 内存管理     3.5.1 变量定义     3.5.2 动态类型     3.5.3 内存分配     3.5.4 引用计数     3.5.5 垃圾收集    3.6 第一个Python程序    3.7 相关模块和开发工具    3.8 练习   第4章 Python对象    4.1 Pythonc对象    4.2 标准类型    4.3 其他内建类型     4.3.1 类型对象和type类型对象     4.3.2 None--Python的Null对象    4.4 内部类型     4.4.1 代码对象     4.4.2 帧对象     4.4.3 跟踪记录对象     4.4.4 切片对象     4.4.5 省略对象     4.4.6 XRangec对象    4.5 标准类型操作符     4.5.1 对象值的比较     4.5.2 对象身份比较     4.5.3 布尔类型    4.6 标准类型内建函数     4.6.1 type()     4.6.2 cmp()     4.6.3 str()和repr()(及``操作符)     4.6.4 type()和isinstance()     4.6.5 Python类型操作符和内建函数总结    4.7 类型工厂函数    4.8 标准类型的分类     4.8.1 存储模型     4.8.2 更新模型     4.8.3 访问模型    4.9 不支持的类型    4.10 练习   第5章 数字    5.1 数字简介     5.1.1 如何创建数值对象并用其赋值(数字对象)     5.1.2 如何更新数字对象     5.1.3 如何删除数字对象    5.2 整型     5.2.1 布尔型     5.2.2 标准整型     5.2.3 长整型     5.2.4 整型和长整型的统一    5.3 双精度浮点型    5.4 复数    5.5 操作符     5.5.1 混合模式操作符     5.5.2 标准类型操作符     5.5.3 算术操作符     5.5.4 位操作符(只适用于整型)    5.6 内建函数与工厂函数     5.6.1 标准类型函数     5.6.2 数字类型函数     5.6.3 仅用于整型的函数    5.7 其他数字类型     5.7.1 布尔“数”     5.7.2 十进制浮点型    5.8 相关模块    5.9 练习   第6章 序列:字符串.c列表和元组    6.1 序列     6.1.1 标准类型操作符     6.1.2 序列类型操作符     6.1.3 内建函数(BIF)    6.2 字符串    6.3 字符串和操作符     6.3.1 标准类型操作符     6.3.2 序列操作符切片([]和[])    6.4 只适用于字符串的操作符     6.4.1 格式化操作符(%)     6.4.2 字符串模板c更简单的替代品     6.4.3 原始字符串操作符(rR)     6.4.4 Unicode字符串操作符(uU)    6.5 内建函数     6.5.1 标准类型函数     6.5.2 序列类型函数     6.5.3 字符串类型函数    6.6 字符串内建函数     6.7 字符串的独特特性     6.7.1 特殊字符串和控制字符     6.7.2 三引号     6.7.3 字符串不变性    6.8 Unicode     6.8.1 术语     6.8.2 什么是Unicode     6.8.3 怎样使用Unicode     6.8.4 Codec是什么     6.8.5 编码解码     6.8.6 把Unicode应用到实际应用中     6.8.7 从现实中得来的教训     6.8.8 Python的Unicode支持    6.9 相关模块    6.10 字符串关键点总结   6.11 列表    6.12 操作符     6.12.1 标准类型操作符     6.12.2 序列类型操作符     6.12.3 列表类型操作符和列表解析    6.13 内建函数     6.13.1 标准类型函数     6.13.2 序列类型函数     6.13.3 列表类型内建函数    6.14 列表类型的内建函数    6.15 列表的特殊特性    6.16 元组    6.17 元组操作符和内建函数     6.17.1 标准类型操作符.c序列类型操作符和内建函数     6.17.2 元组类型操作符和内建函数.c内建方法    6.18 元组的特殊特性     6.18.1 不可变性给元组带来了什么影响     6.18.2 元组也不是那么“不可变”     6.18.3 默认集合类型     6.18.4 单元素元组     6.18.5 字典的关键字    6.19 相关模块    6.20 拷贝Python对象.c浅拷贝和深拷贝    6.21 序列类型小结    6.22 练习   第7章 映像和集合类型    7.1 映射类型:字典     7.1.1 如何创建字典和给字典赋值     7.1.2 如何访问字典中的值     7.1.3 如何更新字典     7.1.4 如何删除字典元素和字典    7.2 映射类型操作符     7.2.1 标准类型操作符     7.2.2 映射类型操作符    7.3 映射类型的内建函数和工厂函数     7.3.1 标准类型函数[type().cstr()和cmp()]     7.3.2 映射类型相关的函数    7.4 映射类型内建方法    7.5 字典的键     7.5.1 不允许一个键对应多个值     7.5.2 键必须是可哈希的    7.6 集合类型     7.6.1 如何创建集合类型和给集合赋值     7.6.2 如何访问集合中的值     7.6.3 如何更新集合     7.6.4 如何删除集合中的成员和集合    7.7 集合类型操作符     7.7.1 标准类型操作符(所有的集合类型)     7.7.2 集合类型操作符(所有的集合类型)     7.7.3 集合类型操作符(仅适用于可变集合)    7.8 内建函数     7.8.1 标准类型函数     7.8.2 集合类型工厂函数    7.9 集合类型内建方法     7.9.1 方法(所有的集合方法)     7.9.2 方法(仅适用于可变集合)     7.9.3 操作符和内建方法比较    7.10 集合类型总结表    7.11 相关模块    7.12 练习   第8章 条件和循环    8.1 if语句     8.1.1 多重条件表达式     8.1.2 单一语句的代码块    8.2 else语句    8.3 elif(即else-if)语句    8.4 条件表达式(即“三元操作符”)    8.5 while语句     8.5.1 一般语法     8.5.2 计数循环     8.5.3 无限循环    8.6 for语句     8.6.1 一般语法     8.6.2 用于序列类型     8.6.3 用于迭代器类型     8.6.4 range()内建函数     8.6.5 xrange()c内建函数     8.6.6 与序列相关的内建函数    8.7 break语句    8.8 continue语句    8.9 pass语句    8.10 再谈else语句    8.11 迭代器和iter()函数     8.11.1 什么是迭代器     8.11.2 为什么要迭代器     8.11.3 如何迭代     8.11.4 使用迭代器     8.11.5 可变对象和迭代器     8.11.6 如何创建迭代器    8.12 列表解析    8.13 生成器表达式    8.14 相关模块    8.15 练习   第9章 文件和输入输出    9.1 文件对象    9.2 文件内建函数(open()和file())     9.2.1 工厂函数file()     9.2.2 通用换行符支持(UNS)    9.3 文件内建方法     9.3.1 输入     9.3.2 输出     9.3.3 文件内移动     9.3.4 文件迭代     9.3.5 其他     9.3.6 文件方法杂项    9.4 文件内建属性    9.5 标准文件    9.6 命令行参数    9.7 文件系统    9.8 文件执行    9.9 永久存储模块     9.9.1 pickle和marshal模块     9.9.2 DBM风格的模块     9.9.3 shelve模块    9.10 相关模块    9.11 练习   第10章 错误和异常    10.1 什么是异常     10.1.1 错误     10.1.2 异常    10.2 Pythonc中的异常    10.3 检测和处理异常     10.3.1 try-except语句     10.3.2 装内建函数     10.3.3 带有多个except的try语句     10.3.4 处理多个异常的except语句     10.3.5 捕获所有异常     10.3.6 “异常参数”     10.3.7 在应用使用我们封装的函数     10.3.8 else子句     10.3.9 finally子句     10.3.10 try-finally语句     10.3.11 try-except-else-finally:厨房一锅端  cccc10.4 上下文管理     10.4.1 with语句     10.4.2 上下文管理协议    10.5 字符串作为异常    10.6 触发异常    10.7 断言    10.8 标准异常    10.9 创建异常    10.10 (现在)为什么用异常    10.11 到底为什么要异常    10.12 异常和sys模块    10.13 相关模块    10.14 练习   第11章 函数和函数式编程    11.1 什么是函数?     11.1.1 函数vs过程     11.1.2 返回值与函数类型    11.2 调用函数     11.2.1 函数操作符     11.2.2 关键字参数    11.2.3 默认参数     11.2.4 参数组    11.3 创建函数     11.3.1 def语句     11.3.2 声明与定义比较     11.3.3 前向引用     11.3.4 函数属性     11.3.5 内部内嵌函数     11.3.6 函数(与方法)装饰器    11.4 传递函数    11.5 FormalcArguments     11.5.1 位置参数     11.5.2 默认参数    11.6 可变长度的参数     11.6.1 非关键字可变长参数(元组)     11.6.2 关键字变量参数(字典)     11.6.3 调用带有可变长参数对象函数    11.7 函数式编程     11.7.1 匿名函数与lambda     11.7.2 内建函数apply().cfilter().cmap().creduce()     11.7.3 偏函数应用    11.8 变量作用域     11.8.1 全局变量与局部变量     11.8.2 globa语句     11.8.3 作用域的数字     11.8.4 闭     11.8.5 作用域和lambda     11.8.6 变量作用域和名称空间    11.9 递归     11.10 生成器     11.10.1 简单的生成器特性        11.10.2 加强的生成器特性    11.11 练习   第12章 模块    12.1 什么是模块    12.2 模块和文件     12.2.1 模块名称空间     12.2.2 搜索路径和路径搜索    12.3 名称空间     12.3.1 名称空间与变量作用域比较     12.3.2 名称查找.c确定作用域.c覆盖     12.3.3 无限制的名称空间    12.4 导入模块     12.4.1 import语句     12.4.2 from-import语句     12.4.3 多行导入     12.4.4 扩展的import语句(as)    12.5 模块导入的特性     12.5.1 载入时执行模块     12.5.2 导入(import)和加载(load)     12.5.3 导入到当前名称空间的名称     12.5.4 被导入导入者作用域的名字     12.5.5 关于__future__     12.5.6 警告框架     12.5.7 从ZIP文件中导入模块     12.5.8 “新的”导入钩子    12.6 模块内建函数     12.6.1 __import__()     12.6.2 globals()和locals()        12.6.3 reload()    12.7      12.7.1 目录结构     12.7.2 使用from-import导入    12.8 模块的其他特性     12.8.1 自动载入的模块     12.8.2 阻止属性导入     12.8.3 不区分大小的导入     12.8.4 源代码编码     12.8.5 导入循环     12.8.6 模块执行    12.9 相关模块    12.10 练习   第13章 面向对象编程    13.1 引言    13.2 面向对象编程     13.2.1 面向对象设计与面向对象编程的关系     13.2.2 现实中的问题     13.2.3 常用术语    13.3 类     13.3.1 创建类     13.3.2 声明与定义    13.4 类属性     13.4.1 类的数据属性     13.4.2 Methods     13.4.3 决定类的属性     13.4.4 特殊的类属性    13.5 实例     13.5.1 初始化:通过调用类对象来创建实例     13.5.2 __init__()“构造器”方法     13.5.3 __new__()“构造器”方法     13.5.4 __del__()“解构器”方法    13.6 实例属性     13.6.1 “实例化”实例属性(或创建一个更好的构造器)     13.6.2 查看实例属性     13.6.3 特殊的实例属性     13.6.4 建类型属性     13.6.5 实例属性vs类属性    13.7 绑定和方法调用     13.7.1 调用绑定方法     13.7.2 调用非绑定方法    13.8 静态方法和类方法     13.8.1 staticmethod()和classmethod()内建函数     13.8.2 使用函数修饰符    13.9 组合    13.10 子类和派生    13.11 继承     13.11.1 __bases__类属性     13.11.2 通过继承覆盖方法     13.11.3 从标准类型派生     13.11.4 多重继承    13.12 类.c实例和其他对象的内建函数     13.12.1 issubclass()     13.12.2 isinstance()     13.12.3 hasattr().cgetattr().csetattr().cdelattr()     13.12.4 dir()     13.12.5 super()     13.12.6 vars()    13.13 用特殊方法定制类     13.13.1 简单定制(RoundFloat2)     13.13.2 数值定制(Time60)     13.13.3 迭代器(RandSeq和AnyIter)     13.13.4 多类型定制(NumStr)    13.14 私有化    13.15 授权     13.15.1 装     13.15.2 实现授权    13.16 新式类的高级特性(Pythonc2.2+)     13.16.1 新式类的通用特性     13.16.2 __slots__类属性     13.16.3 __getattribute__()特殊方法     13.16.4 描述符     13.16.5 元类和__metaclass__    13.17 相关模块和文档    13.18 练习   第14章 执行环境    14.1 可调用对象     14.1.1 函数     14.1.2 方法     14.1.3 类     14.1.4 类的实例    14.2 代码对象    14.3 可执行的对象声明和内建函数     14.3.1 callable()     14.3.2 compile()     14.3.3 eval()     14.3.4 exec     14.3.5 input()     14.3.6 使用Python在运行时生成和执行Python代码    14.4 执行其他(Python)程序     14.4.1 导入     14.4.2 execfile()     14.4.3 将模块作为脚本执行    14.5 执行其他(非Python)程序     14.5.1 os.system()     14.5.2 os.popen()     14.5.3 os.fork().cos.exec().cos.wait()     14.5.4 os.spawn()     14.5.5 subprocessc模块     14.5.6 相关函数    14.6 受限执行    14.7 结束执行     14.7.1 sys.exit()candcSystemExit     14.7.2 sys.exitfunc()     14.7.3 os._exit()c函数     14.7.4 os.kill()cFunction    14.8 各种操作系统接口    14.9 相关模块    14.10 练习  第2部分 高级主题  第15章 正则表达式    15.1 引言动机    15.2 正则表达式使用的特殊符号和字符     15.2.1 用管道符号()匹配多个正则表达式模式     15.2.2 匹配任意一个单个的字符(.)     15.2.3 从字符串的开头或结尾或单词边界开始匹配(^$cbcBc)     15.2.4 创建字符类([])     15.2.5 指定范围(-)和否定(^)     15.2.6 使用闭操作符(,1+,1,1{})实现多次出现重复匹配     15.2.7 特殊字符表示.c字符集     15.2.8 用圆括号(())组建组    15.3 正则表达式和Python语言     15.3.1 re模块:核心函数和方法     15.3.2 使用compile()编译正则表达式     15.3.3 匹配对象和group().cgroups()方法    15.3.4 用match()匹配字符串     15.3.5 search()在一个字符串中查找一个模式(搜索与匹配的比较)     15.3.6 匹配多个字符串()     15.3.7 匹配任意单个字符(.)     15.3.8 创建字符集合([])     15.3.9 重复.c特殊字符和子组     15.3.10 从字符串的开头或结尾匹配及在单词边界上的匹配     15.3.11 用findall()找到每个出现的匹配部分     15.3.12 用sub()(和subn())进行搜索和替换     15.3.13 用split()分割(分隔模式)    15.4 正则表达式示例     15.4.1 匹配一个字符串     15.4.2 搜索与匹配的比较,1“贪婪”匹配    15.5 练习   第16章 网络编程    16.1 引言     16.1.1 什么是客户端服务器架构     16.1.2 客户端服务器网络编程    16.2 套接字:通信端点     16.2.1 什么是套接字     16.2.2 套接字地址:主机与端口     16.2.3 面向连接与无连接    16.3 Python中的网络编程     16.3.1 socket()模块函数     16.3.2 套接字对象(内建)方法     16.3.3 创建一个TCP服务器     16.3.4 创建TCP客户端     16.3.5 运行我们的客户端与TCP服务器     16.3.6 创建一个UDP服务器     16.3.7 创建一个UDP客户端     16.3.8 执行UDP服务器和客户端     16.3.9 Socket模块属性    16.4 SocketServer模块     16.4.1 创建一个SocketServerTCP服务器     16.4.2 创建SocketServerTCP客户端     16.4.3 执行TCP服务器和客户端    16.5 Twisted框架介绍     16.5.1 创建一个TwistedcReactorcTCP服务器     16.5.2 创建一个TwistedcReactorcTCP客户端     16.5.3 执行TCP服务器和客户端    16.6 相关模块    16.7 练习   第17章 网络客户端编程    17.1 什么是因特网客户端    17.2 文件传输     17.2.1 文件传输网际协议     17.2.2 文件传输协议(FTP)     17.2.3 Python和FTP     17.2.4 ftplib.FTP类方法     17.2.5 交互式FTP示例     17.2.6 客户端FTP程序举例     17.2.7 FTP的其他方面    17.3 网络新闻     17.3.1 Usenet与新闻组     17.3.2 网络新闻传输协议(NNTP)     17.3.3 Python和NNTP     17.3.4 nntplib.NNTP类方法     17.3.5 交互式NNTP举例     17.3.6 客户端程序NNTP举例     17.3.7 NNTP的其他方面    17.4 电子邮件     17.4.1 电子邮件系统组件和协议     17.4.2 发送电子邮件     17.4.3 Python和SMTP     17.4.4 smtplib.SMTP类方法     17.4.5 交互式SMTP示例     17.4.6 SMTP的其他方面     17.4.7 接收电子邮件     17.4.8 POP和IMAP     17.4.9 Python和POP3     17.4.10 交互式POP3举例     17.4.11 poplib.POP3类方法     17.4.12 客户端程序SMTP和POP3举例    17.5 相关模块     17.5.1 电子邮件     17.5.2 其他网络协议    17.6 练习   第18章 多线程编程    18.1 引言动机    18.2 线程和进程     18.2.1 什么是进程     18.2.2 什么是线程    18.3 Python.c线程和全局解释器锁     18.3.1 全局解释器锁(GIL)     18.3.2 退出线程     18.3.3 在Python中使用线程     18.3.4 没有线程支持的情况     18.3.5 Python的threading模块    18.4 thread模块    18.5 threading模块     18.5.1 Thread类     18.5.2 斐波那契.c阶乘和累加和     18.5.3 threading模块中的其他函数        18.5.4 生产者-消费者问题和Queue模块    18.6 相关模块    18.7 练习   第19章 图形用户界面编程    19.1 简介     19.1.1 什么是Tcl.cTk和Tkinter     19.1.2 安装和使用Tkinter 533    19.1.3 客户端服务器架构 534   19.2 Tkinter与Python编程 534    19.2.1 Tkinter模块:把Tk引入你的程序     19.2.2 GUI程序开发简介     19.2.3 顶层窗口:Tkinter.Tk()     19.2.4 Tk组件    19.3 Tkinter举例     19.3.1 标签组件     19.3.2 按钮组件     19.3.3 标签和按钮组件     19.3.4 标签.c按钮和进度条组件     19.3.5 偏函数应用举例     19.3.6 中级Tkinter范例    19.4 其他GUI简介     19.4.1 TkcInterfaceceXtensionsc(Tix)     19.4.2 PythoncMegaWidgetsc(PMW)     19.4.3 wxWidgets和wxPython     19.4.4 GTK+和PyGTK    19.5 相关模块和其他GUI    19.6 练习   第20章 Web编程    20.1 介绍     20.1.1 Web应用:客户端服务器计算     20.1.2 因特网    20.2 使用Python进行Web应用:创建一个简单的Web客户端     20.2.1 统一资源定位符     20.2.2 urlparse模块     20.2.3 urllib模块     20.2.4 urllib2模块    20.3 高级Web客户端    20.4 CGI:帮助Web服务器处理客户端数据     20.4.1 CGI介绍     20.4.2 CGI应用程序     20.4.3 cgi模块  cccc20.5 建立CGI应用程序     20.5.1 建立Web服务器     20.5.2 建立表单页     20.5.3 生成结果页     20.5.4 生成表单和结果页面     20.5.5 全面交互的Web站点  cccc20.6 在CGI中使用Unicode编码    20.7 高级CGI     20.7.1 Mulitipart表单提交和文件的上传     20.7.2 多值字段     20.7.3 cookie     20.7.4 使用高级CGI    20.8 Web(HTTP)服务器    20.9 相关模块    20.10 练习   第21章 数据库编程    21.1 介绍     21.1.1 持久存储     21.1.2 基本的数据库操作和SQL语言     21.1.3 数据库和Python    21.2 Python数据库应用程序程序员接口(DB-API)     21.2.1 模块属性     21.2.2 连接对象     21.2.3 游标对象     21.2.4 类型对象和构造器     21.2.5 关系数据库     21.2.6 数据库和Python:接口程序     21.2.7 使用数据库接口程序举例    21.3 对象-关系管理器(ORM)     21.3.1 考虑对象,1而不是SQL     21.3.2 Python和ORM     21.3.3 雇员数据库举例     21.3.4 总结    21.4 相关模块    21.5 练习   第22章 扩展Python 623   22.1 引言动机     22.1.1 什么是扩展     22.1.2 为什么要扩展Python    22.2 创建Python扩展     22.2.1 创建您的应用程序代码     22.2.2 用样板来装你的代码     22.2.3 编译     22.2.4 导入和测试     22.2.5 引用计数     22.2.6 线程和全局解释器锁(GIL)  cccc22.3 相关话题    22.4 练习  第23章 其他话题    23.1 Web服务    23.2 用Win32的COM来操作微软Office     23.2.1 客户端COM编程     23.2.2c微软Excel     23.2.3 微软Word 第1部分 Python核心    23.2.4 微软PowerPoint     23.2.5 微软Outlook     23.2.6 中等规模的例子  cccc23.3 用Jython写Python和Java的程序     23.3.1 什么是Jython     23.3.2 SwingcGUI开发(Java或者Python!)    23.4 练习     23.2.4 微软PowerPoint     23.2.5 微软Outlook     23.2.6 中等规模的例子    23.3 用Jython写Python和Java的程序     23.3.1 什么是Jython     23.3.2 SwingcGUI开发(Java或者Python!)    23.4 练习1a1c1ac111c111a1a1
1. 介绍.........................................................................................................18 1.1. 关于本书...............................................................................................................19 1.1.1. 谁创建了Struts?...................................................................................................19 1.1.2. 为什么Struts 要开源?.........................................................................................19 1.1.3. 为什么叫Struts?...................................................................................................19 1.1.4. 落到实处...............................................................................................................27 1.1.5. 再看看...................................................................................................................34 1.2. 小结.......................................................................................................................36 2. 深入STRUTS 架构..................................................................................37 2.1. 随便谈谈...............................................................................................................38 2.2. 为什么我们需要Struts .......................................................................................38 2.2.1. 退一进三...............................................................................................................38 2.2.2. 进入 Struts ...........................................................................................................39 2.2.3. Struts 控制器组件................................................................................................39 2.2.4. 用Struts 开发Web 应用......................................................................................42 2.3. 为什么需要框架...................................................................................................43 2.3.1. Web—永无休止的修补........................................................................................43 2.3.2. Servlet 解决方案.................................................................................................44 2.3.3. Servlet 框架.........................................................................................................44 2.3.4. 黑盒-白盒统一体.................................................................................................45 2.4. Struts, Model 2,以及 MVC................................................................................46 2.4.1. MVC 的演化.........................................................................................................46 2.4.2. Model 2 的出现....................................................................................................47 2.4.3. 应用层—视图之间的去耦合...............................................................................47 2.4.4. Struts 如何实现Model 2, MVC, 和分层............................................................49 2.5. Struts 控制流......................................................................................................50 2.5.1. 总图.......................................................................................................................51 2.5.2. 出色的细节...........................................................................................................52 2.5.3. Struts 是富有效率的吗?......................................................................................54 2.6. Struts 的长处和弱点...........................................................................................55 2.6.1. 弱点.......................................................................................................................56 2.6.2. Struts 的强项........................................................................................................58 2.7. 小结.......................................................................................................................59 3. 构建一个简单应用....................................................................................60 3.1. 被支柱支撑的支柱...............................................................................................61 3.1.1. 为什么选择 logon 应用? .....................................................................................61 3.2. 漫游logon 应用...................................................................................................62 3.2.1. 从这里开始...........................................................................................................62 3.2.2. 我们看到的屏幕...................................................................................................62 3.2.3. 欢迎屏幕...............................................................................................................63 3.2.4. 登录屏幕...............................................................................................................63 3.2.5. 重新显示欢迎屏幕...............................................................................................65 3.2.6. 欢迎屏幕,再见...................................................................................................65 3.2.7. 所使用的特征.......................................................................................................66 3.3. 解剖 logon 应用.................................................................................................66 3.3.1. 欢迎屏幕的浏览器代码.......................................................................................66 3.3.2. 欢迎页面的JSP 源代码.......................................................................................67 3.3.3. Welcome 屏幕的配置源代码...............................................................................70 3.3.4. logon 屏幕的浏览器代码....................................................................................70 3.3.5. logon 的配置源代码............................................................................................73 3.3.6. LogonSubmit 配置................................................................................................74 3.3.7. LogonForm 源代码..............................................................................................75 3.3.8. LogonAction 源代码...........................................................................................77 3.3.9. LogoffAction 源代码...........................................................................................83 3.4. 构造应用...............................................................................................................86 3.4.1. 定义需求...............................................................................................................86 3.4.2. 规划应用...............................................................................................................87 3.4.3. 规划源代码树.......................................................................................................89 3.4.4. 设置开发工具.......................................................................................................90 3.4.5. 设置 build.xml 文件............................................................................................91 3.4.6. 设置web.xml 文件...............................................................................................91 3.4.7. 设置 struts-config.xml 文件...............................................................................91 3.4.8. 测试部署情况.......................................................................................................93 3.4.9. 构造欢迎页面.......................................................................................................95 3.4.10. 构造logon 页面...................................................................................................97 3.4.11. 构造Constants 类.................................................................................................98 3.4.12. 构造其他类.........................................................................................................100 3.4.13. 创建user directory..............................................................................................100 3.4.14. 配置ActionErrors...............................................................................................101 3.4.15. 编译并测试logon 页面.....................................................................................101 3.4.16. 修改welcome 页面............................................................................................102 3.4.17. Struts ForwardAction Action...............................................................................104 3.5. 小结.....................................................................................................................105 4. 配置STRUTS 组件................................................................................106 4.1. 三个 XML 文件和一个属性文件....................................................................107 4.1.1. 家族的其他人员.................................................................................................107 4.2. Web 应用部署描述符........................................................................................107 4.2.1. Web.xml 文件....................................................................................................107 4.2.2. ActionServlet 的参数......................................................................................... 110 4.3. Struts 配置......................................................................................................... 112 4.3.1. 细节, 更多细节.................................................................................................. 113 4.3.2. 变更管理............................................................................................................. 114 4.3.3. 受保护的变更原则............................................................................................. 115 4.4. Struts 配置元素................................................................................................. 115 4.4.1. <global-exceptions>............................................................................................ 117 4.4.2. <form-beans>...................................................................................................... 118 4.4.3. <global-forwards>............................................................................................... 118 4.4.4. <action-mappings>.............................................................................................. 119 4.4.5. <Controller>........................................................................................................120 4.4.6. <message-resources> ..........................................................................................121 4.4.7. <plug-in>.............................................................................................................121 4.4.8. <data-sources> ....................................................................................................122 4.4.9. 该你了.................................................................................................................123 4.4.10. Struts config 骨架..............................................................................................123 4.5. 应用资源文件.....................................................................................................125 4.6. Ant 构建文件.....................................................................................................127 4.7. 配置 Struts 核心..............................................................................................129 4.7.1. 安装Java 和Java servlet 容器........................................................................130 4.7.2. 安装开发环境.....................................................................................................130 4.7.3. 安装Struts 核心文件.........................................................................................130 4.7.4. 配置Tiles 框架...................................................................................................130 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 5 页 http://www.blogjava.net/steelhand 4.8. 配置Struts Validator.........................................................................................132 4.9. 从空白Struts 应用开始....................................................................................134 4.10. 配置模块化应用.................................................................................................135 4.10.1. 分而治之.............................................................................................................136 4.10.2. 给页面加前缀.....................................................................................................137 4.10.3. 修改配置.............................................................................................................138 4.10.4. 共享Struts JAR ..................................................................................................138 4.11. 小结.....................................................................................................................138 5. 用ACTIONFORM 传递数据...................................................................140 5.1. 吃的是草,挤出的是奶.....................................................................................141 5.1.1. ActionForm 的要求...........................................................................................142 5.2. 千面女郎 ActionForm......................................................................................143 5.2.1. ActionForm 作为字段收集器...........................................................................143 5.2.2. ActionForm 作为数据缓冲...............................................................................145 5.2.3. ActionForm 作为数据校验器...........................................................................145 5.2.4. ActionForm 作为类型转换器...........................................................................146 5.2.5. ActionForm 作为传输对象(TO) ..................................................................146 5.2.6. ActionForm 作为防火墙...................................................................................147 5.3. ActionForm 设计推论.......................................................................................147 5.3.1. ActionForm 可以共享名称................................................................................147 5.3.2. ActionForm 可以最小化用户代码....................................................................148 5.3.3. ActionForm 可以封装Helper ............................................................................148 5.3.4. ActionForm 可以嵌套其它bean........................................................................148 5.4. ActionForm 的风情..........................................................................................150 5.4.1. Map 支持(Map-backed)的ActionForm ........................................................150 5.4.2. DynaActionForm.................................................................................................151 5.5. 关于ActionForm 的疑问..................................................................................152 5.5.1. 为什么ActionForm 不仅仅是一个Map? .........................................................152 5.5.2. 为什么ActionForm 不是一个普通 JavaBean? ................................................152 5.5.3. 为什么ActionForm 不是一个接口?..................................................................153 5.6. 小结ActionForm...............................................................................................153 5.6.1. 实现业务层接口.................................................................................................155 5.6.2. 嵌套可变值对象.................................................................................................156 5.6.3. 设置不可变值对象.............................................................................................156 5.6.4. 设置可变值对象.................................................................................................158 5.6.5. 使用工厂方法.....................................................................................................158 5.6.6. 传递Map ............................................................................................................159 5.6.7. 通过反射传递值.................................................................................................162 5.6.8. 使用适配器类.....................................................................................................166 5.7. BaseForm...........................................................................................................167 5.7.1. SessionLocale......................................................................................................168 5.7.2. 分派(Dispatch)...............................................................................................168 5.7.3. 自动组装.............................................................................................................169 5.7.4. BaseMapForm.....................................................................................................169 5.8. 小结.....................................................................................................................170 6. 连线 ACTIONFORWARD .....................................................................171 6.1. ActionForward 做什么.....................................................................................172 6.2. ActionForward 如何工作.................................................................................173 6.2.1. 转发和重定向.....................................................................................................173 6.3. 全局和局部转发.................................................................................................174 6.4. 运行时参数.........................................................................................................175 6.4.1. 在页面中添加参数.............................................................................................175 6.4.2. 在Action 类中添加参数....................................................................................176 6.5. 动态转发.............................................................................................................177 6.6. 为什么地址栏不变?.........................................................................................177 6.7. 玩转ActionForward .........................................................................................177 6.8. 小结.....................................................................................................................178 7. 设计ACTIONMAPPING........................................................................179 7.1. 进入ActionMapping.........................................................................................180 7.1.1. ActionMapping bean...........................................................................................180 7.1.2. ActionMapping 目录.........................................................................................181 7.2. ActionMapping 属性........................................................................................181 7.2.1. path 属性.............................................................................................................183 7.2.2. forward 属性......................................................................................................183 7.2.3. include 属性.......................................................................................................183 7.2.4. type 属性............................................................................................................183 7.2.5. classname 属性...................................................................................................184 7.2.6. name 属性...........................................................................................................184 7.2.7. roles 属性............................................................................................................184 7.2.8. scope 属性...........................................................................................................184 7.2.9. validate 属性.......................................................................................................184 7.2.10. input 属性...........................................................................................................184 7.2.11. parameter 属性....................................................................................................185 7.2.12. attribute 属性......................................................................................................186 7.2.13. prefix 和suffix 属性...........................................................................................186 7.2.14. unknown ActionMapping....................................................................................186 7.3. 嵌套的组件.........................................................................................................187 7.3.1. 局部转发.............................................................................................................187 7.3.2. 局部异常.............................................................................................................187 7.4. 玩转ActionMapping.........................................................................................188 7.5. 小结.....................................................................................................................188 8. 和女主角ACTION 对象共舞..................................................................190 8.1. 准备好了, 设定, 行动! .....................................................................................191 8.2. 搞定Action 对象...............................................................................................191 8.2.1. 什么是Action? ...................................................................................................192 8.2.2. Action 何时被调用? ..........................................................................................192 8.2.3. Action 做些什么? ...............................................................................................193 8.2.4. Action 象什么? ...................................................................................................199 8.3. 标准Action ........................................................................................................200 8.3.1. 标准桥式Action 类............................................................................................201 8.3.2. 标准 base Action................................................................................................203 8.3.3. SwitchAction.......................................................................................................208 8.4. 串链Action ........................................................................................................209 8.4.1. 来点新鲜的.........................................................................................................210 8.5. Scaffold Action...................................................................................................210 8.5.1. 仅作转发的Action............................................................................................. 211 8.5.2. Helper Action ......................................................................................................217 8.6. Base View Action ...............................................................................................220 8.7. Helper Action 技术...........................................................................................221 8.7.1. 可选转发.............................................................................................................221 8.7.2. 向前调用.............................................................................................................222 8.7.3. 捕获串链异常.....................................................................................................223 8.7.4. 智能错误转发.....................................................................................................225 8.7.5. 确认成功.............................................................................................................226 8.7.6. 替换视图.............................................................................................................226 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 8 页 http://www.blogjava.net/steelhand 8.7.7. 反射方法.............................................................................................................227 8.7.8. 反射类.................................................................................................................227 8.8. 使用智能转发.....................................................................................................228 8.9. 小结.....................................................................................................................233 9. 扩展 ACTIONSERVLET .......................................................................234 9.1. 来点实在的.........................................................................................................235 9.1.1. Servlet 三人帮....................................................................................................236 9.2. RequestProcessor ..............................................................................................237 9.2.1. process 方法.......................................................................................................238 9.2.2. processRoles........................................................................................................238 9.3. ExceptionHandler .............................................................................................239 9.4. PlugIn .................................................................................................................241 9.5. 小结.....................................................................................................................241 10. 显示动态内容......................................................................243 10.1. 标签—就是你.....................................................................................................244 10.1.1. JSP 标签—你到底好在哪里? ............................................................................244 10.1.2. Struts 和JSTL.....................................................................................................247 10.1.3. Struts 标签和MVC ............................................................................................248 10.2. 标签扩展.............................................................................................................249 10.2.1. 标签扩展是如何编写的? ...................................................................................249 10.2.2. 如何安装标签扩展? ...........................................................................................251 10.2.3. 标签不是什么.....................................................................................................253 10.3. Struts 标签库.....................................................................................................254 10.3.1. Struts 标签公共特征...........................................................................................254 10.3.2. Bean 标签...........................................................................................................256 10.3.3. Html 标签...........................................................................................................258 10.3.4. Logic 标签..........................................................................................................261 10.4. 使用Struts JSP 标签.........................................................................................263 10.4.1. Struts 标签.........................................................................................................264 10.4.2. 基础.....................................................................................................................264 10.4.3. 技术.....................................................................................................................273 10.4.4. 成功的控件.........................................................................................................287 10.5. 其他可代替的视图.............................................................................................288 10.5.1. Struts 和JSP .......................................................................................................288 10.5.2. Servlet 上下文....................................................................................................288 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 9 页 http://www.blogjava.net/steelhand 10.5.3. JSP 之外..............................................................................................................289 10.6. 小结.....................................................................................................................289 11. 用TILES 开发应用..............................................................291 11.1. 页面布局.............................................................................................................292 11.1.1. 动态模板的分层.................................................................................................292 11.1.2. 模板推论.............................................................................................................293 11.1.3. 使用模板.............................................................................................................293 11.1.4. 组合模板,Tiles 和Struts..................................................................................294 11.2. 构建一个布局模板.............................................................................................295 11.2.1. 但什么是小部件(tiles)? ................................................................................297 11.2.2. 部署Tiles 模板...................................................................................................298 11.2.3. 添加样式表.........................................................................................................300 11.2.4. 模板和MVC.......................................................................................................300 11.3. Tiles 定义(Definition)...................................................................................300 11.3.1. 声明Definition ...................................................................................................301 11.3.2. JSP 声明..............................................................................................................301 11.3.3. 通过JSP 声明一个Definition ...........................................................................301 11.3.4. 配置文件声明.....................................................................................................304 11.3.5. 将Definition 用作ActionForward .....................................................................306 11.4. Tile 属性(Attributess) ..................................................................................307 11.4.1. 使用属性.............................................................................................................307 11.4.2. 导入属性.............................................................................................................308 11.4.3. put .......................................................................................................................308 11.4.4. putList 和 add....................................................................................................310 11.5. 迁移一个应用到Tiles........................................................................................ 311 11.5.1. 设置 Tiles 框架................................................................................................ 311 11.5.2. 测试缺省配置.....................................................................................................312 11.5.3. 评估页面.............................................................................................................312 11.5.4. 使用<tiles:insert>重构页面................................................................................314 11.5.5. 分离<tiles:insert> 标签到Definition 中...........................................................321 11.5.6. 规格化基本布局.................................................................................................324 11.5.7. 将Definition 提炼到基本和扩展类之中...........................................................325 11.5.8. 开发过程.............................................................................................................326 11.5.9. 管理迁移.............................................................................................................327 11.6. 小结.....................................................................................................................327 12. 用户输入校验......................................................................329 12.1. 看到时我就认识它.............................................................................................330 12.1.1. 不能拒绝的输入.................................................................................................330 12.1.2. Web 层校验........................................................................................................331 12.1.3. 校验器的地位.....................................................................................................331 12.2. Struts 校验器概述............................................................................................333 12.2.1. Logon 示例........................................................................................................336 12.3. 基本校验器.........................................................................................................341 12.3.1. required 校验器.................................................................................................341 12.3.2. mask 校验器......................................................................................................341 12.3.3. range 校验器......................................................................................................343 12.3.4. maxLength 校验器.............................................................................................344 12.3.5. minLength 校验器.............................................................................................344 12.3.6. byte, short, integer, long, float, 和 double 校验器...........................................345 12.3.7. date 校验器........................................................................................................345 12.3.8. creditCard 校验器..............................................................................................346 12.3.9. email 校验器......................................................................................................346 12.4. 资源束.................................................................................................................346 12.4.1. 缺省资源束.........................................................................................................347 12.4.2. 缺省校验器消息.................................................................................................347 12.4.3. 定制校验器消息.................................................................................................348 12.5. 配置文件.............................................................................................................348 12.6. 校验器 JSP 标签..............................................................................................349 12.7. ValidatorForm 和 ValidatorActionForm ......................................................352 12.8. 本地化的校验.....................................................................................................353 12.9. 可插入校验器.....................................................................................................353 12.9.1. 创建可插入校验器.............................................................................................354 12.10. 技术.....................................................................................................................355 12.10.1. 多页面校验.........................................................................................................356 12.10.2. 取消按钮.............................................................................................................356 12.10.3. 定制消息.............................................................................................................356 12.10.4. 交叉相关的字段.................................................................................................357 12.10.5. 综合使用校验器和 validate 方法....................................................................359 12.11. 迁移一个应用到 Struts 校验器.......................................................................359 12.11.1. 设置校验器框架.................................................................................................359 12.11.2. 测试缺省配置.....................................................................................................360 12.11.3. 重审你的校验.....................................................................................................360 12.11.4. 扩展ValidatorForm 或者Scaffold BaseForm...................................................361 12.11.5. 选择一个校验来迁移.........................................................................................362 12.11.6. 添加formset, form, 和 field 元素....................................................................363 12.11.7. 向ApplicationResources 中加入新的条目........................................................363 12.11.8. 调用Struts 校验器.............................................................................................364 12.11.9. 测试并重复.........................................................................................................365 12.11.10. 删除ActionForm 超类......................................................................................366 12.12. 小结.....................................................................................................................368 13. 本地化.................................................................................369 13.1. 以另外的名称.....................................................................................................370 13.1.1. 为什么要本地化?.............................................................................................370 13.1.2. Java 国际化是如何工作的.................................................................................371 13.1.3. 场所(Locale)..................................................................................................371 13.1.4. ResourceBundle ..................................................................................................373 13.1.5. MessageFormat ...................................................................................................374 13.2. Struts 的国际化组件.........................................................................................375 13.2.1. 会话场所属性.....................................................................................................376 13.2.2. MessageResources ..............................................................................................376 13.2.3. 缺省资源束.........................................................................................................377 13.2.4. 格式化消息.........................................................................................................377 13.2.5. 显示特殊字符串.................................................................................................378 13.2.6. ActionErrors........................................................................................................378 13.2.7. ActionMessages ..................................................................................................379 13.2.8. 场所敏感的Struts JSP 标签...............................................................................380 13.3. 本地化Struts 应用............................................................................................386 13.3.1. 激活本地化.........................................................................................................386 13.3.2. 设置 locale servlet 参数....................................................................................386 13.3.3. 设置应用资源束参数.........................................................................................386 13.3.4. 使用框架的Locale 对象....................................................................................388 13.3.5. 检测用户场所.....................................................................................................388 13.3.6. 改变用户场所.....................................................................................................388 13.3.7. 使用Struts 场所敏感组件..................................................................................389 13.3.8. 将标志和消息放在资源属性文件中.................................................................389 13.3.9. 创建特定语言的属性文件.................................................................................389 13.3.10. 在本地化感知的组件中指定一个相应的关键字.............................................389 13.3.11. 使用<bean:message>和其他组件......................................................................389 13.4. 本地化其他组件.................................................................................................389 13.4.1. 本地化Struts Validator .......................................................................................389 13.4.2. 本地化Tiles........................................................................................................390 13.4.3. 本地化集合.........................................................................................................391 13.5. 小结.....................................................................................................................392 14. 在STRUTS 中使用数据服务...............................................394 14.1. 加快步伐.............................................................................................................395 14.1.1. 从模式的角度来看JDBC..................................................................................395 14.1.2. 数据服务介绍.....................................................................................................396 14.2. 业务层详解.........................................................................................................397 14.2.1. Struts—拿出你自己的模型................................................................................397 14.2.2. 定义业务对象.....................................................................................................397 14.2.3. 设计业务对象.....................................................................................................399 14.2.4. 设计结果.............................................................................................................399 14.2.5. 将业务与Action 混合 (不) ...............................................................................400 14.2.6. 一个简单例子.....................................................................................................400 14.3. 在Struts 中使用ProcessBean 和JDBC.........................................................401 14.3.1. 介绍ProcessBean ...............................................................................................402 14.3.2. ProcessBean 作为传输对象..............................................................................403 14.3.3. 组装ProcessBean ...............................................................................................404 14.3.4. 执行ProcessBean ...............................................................................................404 14.3.5. 访问数据服务.....................................................................................................405 14.3.6. 循着典型流程.....................................................................................................407 14.3.7. 编码业务活动.....................................................................................................407 14.3.8. ProcessBean 作为持久层..................................................................................410 14.3.9. 使用其它持久层技术......................................................................................... 411 14.4. 使用结果对象..................................................................................................... 411 14.4.1. ResultList 方法.................................................................................................. 411 14.5. 使用助手Action ................................................................................................413 14.6. 使用Lucene .......................................................................................................414 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 13 页 http://www.blogjava.net/steelhand 14.6.1. 再看searchProperties .........................................................................................415 14.7. 使用内容联合.....................................................................................................419 14.7.1. 摘要RSS.............................................................................................................419 14.7.2. 获取和渲染.........................................................................................................420 14.7.3. 联合RSS.............................................................................................................421 14.8. Struts 中使用EJB.............................................................................................423 14.8.1. 会话外观.............................................................................................................424 14.8.2. 数据传输对象.....................................................................................................424 14.8.3. 实现模式.............................................................................................................424 14.9. 小结.....................................................................................................................425 15. ARTIMUS:全力以赴实际应用..............................................426 15.1. 框架之框架.........................................................................................................427 15.2. Scaffold—工具包的诞生...................................................................................427 15.3. 关于Artimus .....................................................................................................428 15.3.1. 构建Artimus.......................................................................................................429 15.4. 部署描述符(web.xml)........................................................................................430 15.4.1. 配置Artimus.......................................................................................................432 15.4.2. 应用属性.............................................................................................................432 15.4.3. 连接适配器.........................................................................................................432 15.4.4. 启动优先级.........................................................................................................432 15.4.5. 其它配置设置.....................................................................................................432 15.4.6. 安全设置.............................................................................................................433 15.4.7. 我们所保护的URL............................................................................................433 15.4.8. 授权角色.............................................................................................................433 15.4.9. 认证策略.............................................................................................................433 15.5. ArtimusServlet...................................................................................................433 15.5.1. 我们的子类.........................................................................................................435 15.5.2. 我们的字符串常数.............................................................................................435 15.5.3. 我们的扩展点.....................................................................................................435 15.6. 应用和SQL 属性文件.......................................................................................436 15.7. index.jsp .............................................................................................................437 15.8. 全局转发.............................................................................................................438 15.9. /find/Recent........................................................................................................440 15.9.1. 扩展bean ............................................................................................................443 15.9.2. super.execute.......................................................................................................444 15.9.3. getArticles ...........................................................................................................444 15.9.4. 访问.findByLast 和ResultList ..........................................................................444 15.9.5. ProcessResult ......................................................................................................445 15.9.6. ProcessAction......................................................................................................446 15.10. tiles.xml 和Article.jsp......................................................................................447 15.10.1. useAttribute.........................................................................................................449 15.10.2. baseStyle .............................................................................................................450 15.10.3. title ......................................................................................................................450 15.10.4. Tiles.....................................................................................................................450 15.11. result.jsp.............................................................................................................452 15.11.1. legend..................................................................................................................454 15.11.2. isResult? ..............................................................................................................454 15.11.3. RESULT..............................................................................................................454 15.12. Article actions....................................................................................................460 15.13. view.jsp...............................................................................................................463 15.13.1. 大标题.................................................................................................................465 15.13.2. 内容.....................................................................................................................465 15.13.3. contributor...........................................................................................................465 15.14. edit.jsp ................................................................................................................466 15.14.1. 文章内容.............................................................................................................468 15.14.2. Contributed / contributor.....................................................................................469 15.14.3. Article ID ............................................................................................................469 15.14.4. Validation............................................................................................................469 15.15. /do/Menu ............................................................................................................471 15.15.1. logon ...................................................................................................................474 15.15.2. menu....................................................................................................................474 15.15.3. 我们的控件.........................................................................................................475 15.15.4. saveResult ...........................................................................................................476 15.15.5. Our results ...........................................................................................................476 15.16. menu.jsp.............................................................................................................476 15.16.1. /find/Hours ..........................................................................................................479 15.16.2. /menu/Find ..........................................................................................................479 15.16.3. /find/Last .............................................................................................................480 15.16.4. /menu/Contributor ...............................................................................................481 15.16.5. /menu/Manager ...................................................................................................482 15.17. 小结.....................................................................................................................482 16. 回家:迁移到STRUTS 1.1 ...................................................483 16.1. 下一站, Struts 1.1 ..........................................................................................484 16.1.1. Struts 1.1 特征摘要...........................................................................................485 16.1.2. 我们可使用的特征.............................................................................................487 16.2. 基线化变更.........................................................................................................487 16.2.1. Struts 1.1 的Tiles ...............................................................................................488 16.2.2. Struts 1.1 的Validator ........................................................................................491 16.2.3. Struts 1.1 的ReloadAction ................................................................................492 16.2.4. 其他对web.xml 和struts-config.xml 的基线变更...........................................492 16.2.5. message.jsp (1.1).................................................................................................492 16.2.6. form.jsp (1.1).......................................................................................................493 16.2.7. MenuCreate (1.1) ................................................................................................495 16.2.8. 向前.....................................................................................................................496 16.3. 任意修改.............................................................................................................496 16.3.1. 修改表单为DynaActionForm............................................................................496 16.3.2. 基于Action 的安全............................................................................................498 16.3.3. Action 路径修改.................................................................................................500 16.3.4. Struts 1.1 中的应用资源....................................................................................501 16.4. 小结.....................................................................................................................502 17. VELOCITY: JSP 的替代选择..............................................503 17.1. 转移到Velocity 模板........................................................................................504 17.2. 改变成就框架.....................................................................................................504 17.3. 我们为何需要Velocity ......................................................................................504 17.3.1. Velocity 轻巧、快速和多能.............................................................................505 17.3.2. Velocity 与其它和谐共处.................................................................................505 17.3.3. Velocity 简单而强大.........................................................................................505 17.4. 在Web 应用中使用Velocity ............................................................................505 17.4.1. 与其他Servlet 资源使用 Velocity....................................................................507 17.4.2. 通过上下文属性使用Velocity ..........................................................................508 17.4.3. Velocity 如何与Struts 共处..............................................................................509 17.4.4. VelocityStruts 工具包........................................................................................509 17.4.5. Struts View 工具.................................................................................................510 17.5. 我们的logon 模板............................................................................................510 17.6. 设置VelocityViewServlet..................................................................................513 17.6.1. 安装VelocityViewServlet ..................................................................................514 17.6.2. 部署Velocity servlet ..........................................................................................514 17.6.3. 工具包配置文件.................................................................................................515 17.7. 设置struts 配置.................................................................................................516 17.8. 小结.....................................................................................................................518
原书名: Core Python Programming (2nd Edition) 原出版社: Prentice Hall PTR 作者: (美)Wesley J. Chun 译者: 宋吉广 出版社:人民邮电出版社 ISBN:9787115178503 上架时间:2008-6-23 出版日期:2008 年7月 开本:16开 页码:654 版次:2-1 第1部分 python核心  第1章 欢迎来到python世界    1.1 什么是python    1.2 起源    1.3 特点     1.3.1 高级     1.3.2 面向对象     1.3.3 可升级     1.3.4 可扩展     1.3.5 可移植性     1.3.6 易学     1.3.7 易读     1.3.8 易维护     1.3.9 健壮性     1.3.10 高效的快速原型开发工具     1.3.11 内存管理器     1.3.12 解释性和(字节)编译性    1.4 下载和安装python    1.5 运行python     1.5.1 命令行上的交互式解释器  .   1.5.2 从命令行启动脚本     1.5.3 集成开发环境     1.5.4 其他的集成开发环境和执行环境    1.6 python文档    1.7 比较pythonpython与其他语言的比较)    1.8 其他实现    1.9 练习   第2章 快速入门    2.1 程序输出,print语句及“hello world!”    2.2 程序输入和raw_input()内建函数    2.3 注释    2.4 操作符    2.5 变量和赋值    2.6 数字    2.7 字符串    2.8 列表和元组    2.9 字典    2.10 代码块及缩进对齐    2.11 if语句    2.12 while循环    2.13 for循环和range()内建函数    2.14 列表解析    2.15 文件和内建函数open()、file()    2.16 错误和异常    2.17 函数     2.17.1 如何定义函数     2.17.2 如何调用函数     2.17.3 默认参数    2.18 类    2.19 模块     2.19.1 如何导入模块     2.19.2 如何访问一个模块函数或访问一个模块变量    2.20 实用的函数    2.21 练习   第3章 python基础    3.1 语句和语法     3.1.1 注释(#)     3.1.2 继续(\)     3.1.3 多个语句构成代码组(:)     3.1.4 代码组由不同的缩进分隔     3.1.5 同一行书写多个语句(;)     3.1.6 模块    3.2 变量赋值     3.2.1 赋值操作符     3.2.2 增量赋值     3.2.3 多重赋值     3.2.4 “多元”赋值    3.3 标识符     3.3.1 合法的python标识符     3.3.2 关键字     3.3.3 内建     3.3.4 专用下划线标识符    3.4 基本风格指南     3.4.1 模块结构和布局     3.4.2 在主程序中书写测试代码    3.5 内存管理     3.5.1 变量定义     3.5.2 动态类型     3.5.3 内存分配     3.5.4 引用计数     3.5.5 垃圾收集    3.6 第一个python程序    3.7 相关模块和开发工具    3.8 练习   第4章 python对象    4.1 python 对象    4.2 标准类型    4.3 其他内建类型     4.3.1 类型对象和type类型对象     4.3.2 none--python的null对象    4.4 内部类型     4.4.1 代码对象     4.4.2 帧对象     4.4.3 跟踪记录对象     4.4.4 切片对象     4.4.5 省略对象     4.4.6 xrange 对象    4.5 标准类型操作符     4.5.1 对象值的比较     4.5.2 对象身份比较     4.5.3 布尔类型    4.6 标准类型内建函数     4.6.1 type()     4.6.2 cmp()     4.6.3 str()和repr()(及``操作符)     4.6.4 type()和isinstance()     4.6.5 python类型操作符和内建函数总结    4.7 类型工厂函数    4.8 标准类型的分类     4.8.1 存储模型     4.8.2 更新模型     4.8.3 访问模型    4.9 不支持的类型    4.10 练习   第5章 数字    5.1 数字简介     5.1.1 如何创建数值对象并用其赋值(数字对象)     5.1.2 如何更新数字对象     5.1.3 如何删除数字对象    5.2 整型     5.2.1 布尔型     5.2.2 标准整型     5.2.3 长整型     5.2.4 整型和长整型的统一    5.3 双精度浮点型    5.4 复数    5.5 操作符     5.5.1 混合模式操作符     5.5.2 标准类型操作符     5.5.3 算术操作符     5.5.4 *位操作符(只适用于整型)    5.6 内建函数与工厂函数     5.6.1 标准类型函数     5.6.2 数字类型函数     5.6.3 仅用于整型的函数    5.7 其他数字类型     5.7.1 布尔“数”     5.7.2 十进制浮点型    5.8 相关模块    5.9 练习   第6章 序列:字符串、列表和元组    6.1 序列     6.1.1 标准类型操作符     6.1.2 序列类型操作符     6.1.3 内建函数(bif)    6.2 字符串    6.3 字符串和操作符     6.3.1 标准类型操作符     6.3.2 序列操作符切片([]和[:])    6.4 只适用于字符串的操作符     6.4.1 格式化操作符(%)     6.4.2 字符串模板: 更简单的替代品     6.4.3 原始字符串操作符(r/r)     6.4.4 unicode字符串操作符(u/u)    6.5 内建函数     6.5.1 标准类型函数     6.5.2 序列类型函数     6.5.3 字符串类型函数    6.6 字符串内建函数     6.7 字符串的独特特性     6.7.1 特殊字符串和控制字符     6.7.2 三引号     6.7.3 字符串不变性    6.8 unicode     6.8.1 术语     6.8.2 什么是unicode     6.8.3 怎样使用unicode     6.8.4 codec是什么     6.8.5 编码解码     6.8.6 把unicode应用到实际应用中     6.8.7 从现实中得来的教训     6.8.8 python的unicode支持    6.9 相关模块    6.10 字符串关键点总结   6.11 列表    6.12 操作符     6.12.1 标准类型操作符     6.12.2 序列类型操作符     6.12.3 列表类型操作符和列表解析    6.13 内建函数     6.13.1 标准类型函数     6.13.2 序列类型函数     6.13.3 列表类型内建函数    6.14 列表类型的内建函数    6.15 列表的特殊特性    6.16 元组    6.17 元组操作符和内建函数     6.17.1 标准类型操作符、序列类型操作符和内建函数     6.17.2 元组类型操作符和内建函数、内建方法    6.18 元组的特殊特性     6.18.1 不可变性给元组带来了什么影响     6.18.2 元组也不是那么“不可变”     6.18.3 默认集合类型     6.18.4 单元素元组     6.18.5 字典的关键字    6.19 相关模块    6.20 *拷贝python对象、浅拷贝和深拷贝    6.21 序列类型小结    6.22 练习   第7章 映像和集合类型    7.1 映射类型:字典     7.1.1 如何创建字典和给字典赋值     7.1.2 如何访问字典中的值     7.1.3 如何更新字典     7.1.4 如何删除字典元素和字典    7.2 映射类型操作符     7.2.1 标准类型操作符     7.2.2 映射类型操作符    7.3 映射类型的内建函数和工厂函数     7.3.1 标准类型函数[type()、str()和cmp()]     7.3.2 映射类型相关的函数    7.4 映射类型内建方法    7.5 字典的键     7.5.1 不允许一个键对应多个值     7.5.2 键必须是可哈希的    7.6 集合类型     7.6.1 如何创建集合类型和给集合赋值     7.6.2 如何访问集合中的值     7.6.3 如何更新集合     7.6.4 如何删除集合中的成员和集合    7.7 集合类型操作符     7.7.1 标准类型操作符(所有的集合类型)     7.7.2 集合类型操作符(所有的集合类型)     7.7.3 集合类型操作符(仅适用于可变集合)    7.8 内建函数     7.8.1 标准类型函数     7.8.2 集合类型工厂函数    7.9 集合类型内建方法     7.9.1 方法(所有的集合方法)     7.9.2 方法(仅适用于可变集合)     7.9.3 操作符和内建方法比较    7.10 集合类型总结表    7.11 相关模块    7.12 练习   第8章 条件和循环    8.1 if语句     8.1.1 多重条件表达式     8.1.2 单一语句的代码块    8.2 else语句    8.3 elif(即else-if)语句    8.4 条件表达式(即“三元操作符”)    8.5 while语句     8.5.1 一般语法     8.5.2 计数循环     8.5.3 无限循环    8.6 for语句     8.6.1 一般语法     8.6.2 用于序列类型     8.6.3 用于迭代器类型     8.6.4 range()内建函数     8.6.5 xrange() 内建函数     8.6.6 与序列相关的内建函数    8.7 break语句    8.8 continue语句    8.9 pass语句    8.10 再谈else语句    8.11 迭代器和iter()函数     8.11.1 什么是迭代器     8.11.2 为什么要迭代器     8.11.3 如何迭代     8.11.4 使用迭代器     8.11.5 可变对象和迭代器     8.11.6 如何创建迭代器    8.12 列表解析    8.13 生成器表达式    8.14 相关模块    8.15 练习   第9章 文件和输入输出    9.1 文件对象    9.2 文件内建函数(open()和file())     9.2.1 工厂函数file()     9.2.2 通用换行符支持(uns)    9.3 文件内建方法     9.3.1 输入     9.3.2 输出     9.3.3 文件内移动     9.3.4 文件迭代     9.3.5 其他     9.3.6 文件方法杂项    9.4 文件内建属性    9.5 标准文件    9.6 命令行参数    9.7 文件系统    9.8 文件执行    9.9 永久存储模块     9.9.1 pickle和marshal模块     9.9.2 dbm风格的模块     9.9.3 shelve模块    9.10 相关模块    9.11 练习   第10章 错误和异常    10.1 什么是异常     10.1.1 错误     10.1.2 异常    10.2 python 中的异常    10.3 检测和处理异常     10.3.1 try-except语句     10.3.2 装内建函数     10.3.3 带有多个except的try语句     10.3.4 处理多个异常的except语句     10.3.5 捕获所有异常     10.3.6 “异常参数”     10.3.7 在应用使用我们封装的函数     10.3.8 else子句     10.3.9 finally子句     10.3.10 try-finally语句     10.3.11 try-except-else-finally:厨房一锅端  10.4 上下文管理     10.4.1 with语句     10.4.2 *上下文管理协议    10.5 *字符串作为异常    10.6 触发异常    10.7 断言    10.8 标准异常    10.9 *创建异常    10.10 (现在)为什么用异常    10.11 到底为什么要异常    10.12 异常和sys模块    10.13 相关模块    10.14 练习   第11章 函数和函数式编程    11.1 什么是函数?     11.1.1 函数vs过程     11.1.2 返回值与函数类型    11.2 调用函数     11.2.1 函数操作符     11.2.2 关键字参数    11.2.3 默认参数     11.2.4 参数组    11.3 创建函数     11.3.1 def语句     11.3.2 声明与定义比较     11.3.3 前向引用     11.3.4 函数属性     11.3.5 内部/内嵌函数     11.3.6 *函数(与方法)装饰器    11.4 传递函数    11.5 formal arguments     11.5.1 位置参数     11.5.2 默认参数    11.6 可变长度的参数     11.6.1 非关键字可变长参数(元组)     11.6.2 关键字变量参数(字典)     11.6.3 调用带有可变长参数对象函数    11.7 函数式编程     11.7.1 匿名函数与lambda     11.7.2 内建函数apply()、filter()、map()、reduce()     11.7.3 偏函数应用    11.8 变量作用域     11.8.1 全局变量与局部变量     11.8.2 globa语句     11.8.3 作用域的数字     11.8.4 闭     11.8.5 作用域和lambda     11.8.6 变量作用域和名称空间    11.9 *递归     11.10 生成器     11.10.1 简单的生成器特性        11.10.2 加强的生成器特性    11.11 练习   第12章 模块    12.1 什么是模块    12.2 模块和文件     12.2.1 模块名称空间     12.2.2 搜索路径和路径搜索    12.3 名称空间     12.3.1 名称空间与变量作用域比较     12.3.2 名称查找、确定作用域、覆盖     12.3.3 无限制的名称空间    12.4 导入模块     12.4.1 import语句     12.4.2 from-import语句     12.4.3 多行导入     12.4.4 扩展的import语句(as)    12.5 模块导入的特性     12.5.1 载入时执行模块     12.5.2 导入(import)和加载(load)     12.5.3 导入到当前名称空间的名称     12.5.4 被导入导入者作用域的名字     12.5.5 关于__future__     12.5.6 警告框架     12.5.7 从zip文件中导入模块     12.5.8 “新的”导入钩子    12.6 模块内建函数     12.6.1 __import__()     12.6.2 globals()和locals()        12.6.3 reload()    12.7      12.7.1 目录结构     12.7.2 使用from-import导入    12.8 模块的其他特性     12.8.1 自动载入的模块     12.8.2 阻止属性导入     12.8.3 不区分大小的导入     12.8.4 源代码编码     12.8.5 导入循环     12.8.6 模块执行    12.9 相关模块    12.10 练习   第13章 面向对象编程    13.1 引言    13.2 面向对象编程     13.2.1 面向对象设计与面向对象编程的关系     13.2.2 现实中的问题     13.2.3 *常用术语    13.3 类     13.3.1 创建类     13.3.2 声明与定义    13.4 类属性     13.4.1 类的数据属性     13.4.2 methods     13.4.3 决定类的属性     13.4.4 特殊的类属性    13.5 实例     13.5.1 初始化:通过调用类对象来创建实例     13.5.2 __init__()“构造器”方法     13.5.3 __new__()“构造器”方法     13.5.4 __del__()“解构器”方法    13.6 实例属性     13.6.1 “实例化”实例属性(或创建一个更好的构造器)     13.6.2 查看实例属性     13.6.3 特殊的实例属性     13.6.4 建类型属性     13.6.5 实例属性vs类属性    13.7 绑定和方法调用     13.7.1 调用绑定方法     13.7.2 调用非绑定方法    13.8 静态方法和类方法     13.8.1 staticmethod()和classmethod()内建函数     13.8.2 使用函数修饰符    13.9 组合    13.10 子类和派生    13.11 继承     13.11.1 __bases__类属性     13.11.2 通过继承覆盖方法     13.11.3 从标准类型派生     13.11.4 多重继承    13.12 类、实例和其他对象的内建函数     13.12.1 issubclass()     13.12.2 isinstance()     13.12.3 hasattr()、getattr()、setattr()、delattr()     13.12.4 dir()     13.12.5 super()     13.12.6 vars()    13.13 用特殊方法定制类     13.13.1 简单定制(roundfloat2)     13.13.2 数值定制(time60)     13.13.3 迭代器(randseq和anyiter)     13.13.4 *多类型定制(numstr)    13.14 私有化    13.15 *授权     13.15.1 装     13.15.2 实现授权    13.16 新式类的高级特性(python 2.2+)     13.16.1 新式类的通用特性     13.16.2 __slots__类属性     13.16.3 __getattribute__()特殊方法     13.16.4 描述符     13.16.5 元类和__metaclass__    13.17 相关模块和文档    13.18 练习   第14章 执行环境    14.1 可调用对象     14.1.1 函数     14.1.2 方法     14.1.3 类     14.1.4 类的实例    14.2 代码对象    14.3 可执行的对象声明和内建函数     14.3.1 callable()     14.3.2 compile()     14.3.3 eval()     14.3.4 exec     14.3.5 input()     14.3.6 使用python在运行时生成和执行python代码    14.4 执行其他(python)程序     14.4.1 导入     14.4.2 execfile()     14.4.3 将模块作为脚本执行    14.5 执行其他(非python)程序     14.5.1 os.system()     14.5.2 os.popen()     14.5.3 os.fork()、os.exec*()、os.wait*()     14.5.4 os.spawn*()     14.5.5 subprocess 模块     14.5.6 相关函数    14.6 受限执行    14.7 结束执行     14.7.1 sys.exit() and systemexit     14.7.2 sys.exitfunc()     14.7.3 os._exit() 函数     14.7.4 os.kill() function    14.8 各种操作系统接口    14.9 相关模块    14.10 练习  第2部分 高级主题  第15章 正则表达式    15.1 引言/动机    15.2 正则表达式使用的特殊符号和字符     15.2.1 用管道符号(

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值