编程技术

struts2 工作原理

Struts2的工作原理上图来源于Struts2官方站点,是Struts2的整体结构。一个请求在Struts2框架中的处理大概分为以下几个步骤1客户端初始化一个指向Servlet容器(例如Tomcat)的请求2这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMeshPlugin)3接着FilterDispatcher被

系统 2019-08-29 23:07:11 1932

编程技术

登录存储过程

CREATEPROCLogin@userNamevarchar(20),@passwordvarchar(20)ASIFNOTEXISTS(SELECT*FROMUserAccountWHEREUserName=@userName)RETURN-1IFNOTEXISTS(SELECT*FROMUserAccountWHEREUserName=@userNameANDpassword=@password)RETURN1UPDATEUserAccountSET

系统 2019-08-29 22:59:52 1932

编程技术

for,while,do-while,continue(无标号) 之间微

原来对continue的理解停留在表面,粗略的以为就是在执行这条语句之后返回到迭代的头部(自认为是进口处),没想到还有巨大的细节问题。先举个例子:publicclassTest...{/***//***@paramargs*/publicstaticvoidmain(String[]args)...{//TODOAuto-generatedmethodstubintk=0;do...{k++;if(k<10)...{System.out.println("

系统 2019-08-29 22:17:19 1932

编程技术

ejb3.0 第2,3讲-开发第一个无状态会话bean和客

ejb中的3种bean:什么是会话bean?编写第一个ejb3的会话bean:步骤:1.ejb企业级开发是面向接口编程的,我们完成第一个HelloWorld的例子,首先写接口,也就是远程接口(服务器端)packagecn.com.xinli.ejb3;publicinterfaceHelloWorld{publicStringsayHello(Stringname);}2.在写接口的实现类(服务器端)packagecn.com.xinli.ejb3.imp

系统 2019-08-29 21:59:26 1932

编程技术

Hibernate关联学习之---多对多关联

有两个实Student和Course,他们之间的关系是多对多,在数据库上,为了满足3NF,会建立一个中间表Stu_Course来维护Student和Course之间的关系,在Hibernate中,则使用双向多对多来体现这种结构数据库脚本createtablestu(idvarchar(32)primarykey,namevarchar(32),cardidvarchar(32),ageint);createtablecourse(idvarchar(32)

系统 2019-08-12 09:30:38 1932

Python

python初学笔记

通过上班闲暇时间开始学习一门脚本语言--python,很早前就有老同学建议学习一门脚本语言对未开开发会很有帮助,最初考虑选择哪门语言的时候在python和ruby中纠结了一下,最后选择python主要是感觉它的使用用户更广。开发环境我是在windows平台下开发的,python版本官方推荐的是2.7和3.3,我选择了后者,附上下载地址。事实上,对于新手来说,2.x和3.x确实有一些改变,如果你用2.x的帮助文档在3.x下开发可能会遇到一些麻烦(比如prin

系统 2019-08-12 09:30:29 1932

Python

一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器

前言在Python中可迭代(Iterable)、迭代器(Iterator)和生成器(Generator)这几个概念是经常用到的,初学时对这几个概念也是经常混淆,现在是时候把这几个概念搞清楚了。0x00可迭代(Iterable)简单的说,一个对象(在Python里面一切都是对象)只要实现了只要实现了__iter__()方法,那么用isinstance()函数检查就是Iterable对象;例如classIterObj:def__iter__(self):#这里

系统 2019-09-27 17:56:54 1931

Python

详谈Python2.6和Python3.0中对除法操作的异同

Python中除法有两种运算符:'/'和'//';有三种类型的除法:传统除法、Floor除法和真除法。X/Y类型:在Python2.6或者之前,这个操作对于整数运算会省去小数部分,而对于浮点数运算会保持小数部分;在Python3.0中变成真除法(无论任何类型都会保持小数部分,即使整除也会表示为浮点数形式)。示例代码:Python2.7版本中结果:>>>3/21>>>3/2.01.5>>>4/22>>>4/2.02.0Python3.4版本中结果:>>>3/

系统 2019-09-27 17:55:54 1931

Python

python字符串替换第一个字符串的方法

Python截取字符串使用变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。#例1:字符串截取str='12345678'printstr[0:1]>>1#输出str位置0开始到位置1以前的字符printstr[1:6]>>23456#输出str位置1开始到位置6以前的字符num=18str='0000'+str(num)#合并字符串printstr[-5:]#输出字符串右5位>>0001

系统 2019-09-27 17:55:20 1931

Python

MAC OS中多版本python管理

Mac中python多版本切换管理step1.$sudovi~/.bashrcstep2.命令行中输入aliaspython2=’/…/Versions/2.x/bin/python2.x’aliaspython3=’/…/Versions/3.x/bin/python3.x’Step3.刷新$source~/.bashrcStep4、验证在终端输入python2即代表是Python2.x版本,输入python3即代表是Python3.x版本。Mac设置默

系统 2019-09-27 17:55:04 1931

Python

python高级编程——锁

锁在使用用的过程中需要导入threading模块的Lock类使用锁:当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁。互斥锁为资源引入一个状态:锁定/非锁定。锁的语法创建锁、锁定锁、释放锁fromthreadingimportLock#创建锁mutex=Lock()#获取锁(上锁)mutex.acquire()#释放锁(解锁)mutex.release()在锁定锁的过程中ac

系统 2019-09-27 17:55:04 1931

Python

python 数据存储

文章目录python常用数据存储方法txtjsoncsvmsyql安装pymysql连接建库建表插入删除修改查询mongodb安装连接建库建文档增删改查redis安装连接操作公用方法字符串列表集合有序集合散列其他sqlalchemypostgresqlmysqloracleMicrosoftSQLServersqlitepython常用数据存储方法txtwithopen('test.txt','w',encoding='utf8')asf:f.write(

系统 2019-09-27 17:54:52 1931

Python

Python单元测试_使用装饰器实现测试跳过和预期故障的方法

Python单元测试unittest中提供了一下四种装饰器实现测试跳过和预期故障。(使用Python2.7.13)请查考Python手册中:https://docs.python.org/dev/library/unittest.htmlThefollowingdecoratorsimplementtestskippingandexpectedfailures:#以下装饰器实施测试跳过和预期故障:@unittest.skip(原因)Unconditiona

系统 2019-09-27 17:54:46 1931

Python

安装 python virtualenv 虚拟环境

1.工具包安装pipinstallvirtualenv|sudoapt-getinstallpython-virtualenv2.创建虚拟环境#virtualenv/system_python_bin_path/your_virenv_local_pathvirtualenv-p/usr/bin/python2.7/usr_local_path#创建链接sudoln-sf/usr_local_path/bin/activatetf_activatesudo

系统 2019-09-27 17:54:23 1931