软件开发文档.docx

上传人:b****1 文档编号:13636386 上传时间:2023-06-15 格式:DOCX 页数:21 大小:21.84KB
下载 相关 举报
软件开发文档.docx_第1页
第1页 / 共21页
软件开发文档.docx_第2页
第2页 / 共21页
软件开发文档.docx_第3页
第3页 / 共21页
软件开发文档.docx_第4页
第4页 / 共21页
软件开发文档.docx_第5页
第5页 / 共21页
软件开发文档.docx_第6页
第6页 / 共21页
软件开发文档.docx_第7页
第7页 / 共21页
软件开发文档.docx_第8页
第8页 / 共21页
软件开发文档.docx_第9页
第9页 / 共21页
软件开发文档.docx_第10页
第10页 / 共21页
软件开发文档.docx_第11页
第11页 / 共21页
软件开发文档.docx_第12页
第12页 / 共21页
软件开发文档.docx_第13页
第13页 / 共21页
软件开发文档.docx_第14页
第14页 / 共21页
软件开发文档.docx_第15页
第15页 / 共21页
软件开发文档.docx_第16页
第16页 / 共21页
软件开发文档.docx_第17页
第17页 / 共21页
软件开发文档.docx_第18页
第18页 / 共21页
软件开发文档.docx_第19页
第19页 / 共21页
软件开发文档.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件开发文档.docx

《软件开发文档.docx》由会员分享,可在线阅读,更多相关《软件开发文档.docx(21页珍藏版)》请在冰点文库上搜索。

软件开发文档.docx

软件开发文档

软件开发文档

一、数据库连接池

1、配置文件context.xml

-->

name="jdbc/cs"

auth="Container"

type="javax.sql.DataSource"

driverClassName="oracle.jdbc.OracleDriver"

url="jdbc:

oracle:

thin:

@192.168.3.81:

1521:

orcl"

username="rryycs"

password="rryycs"

maxActive="20"

maxIdle="10"

maxWait="-1"/>

2、web.xml

OracleDatasourceexample

jdbc/cs

javax.sql.DataSource

Container

3、创建数据库连接池

packagemon;

importjavax.naming.Context;

importjavax.naming.InitialContext;

importjavax.naming.NamingException;

importjavax.sql.DataSource;

publicclassConnectionPool{

privatestaticDataSourceds=null;

publicstaticDataSourcegetDataSource(){

ContextinitContext;

try{

initContext=newInitialContext();

ContextenvContext=(Context)initContext.lookup("java:

/comp/env");

ds=(DataSource)envContext.lookup("jdbc/cs");

}catch(NamingExceptione){

}

returnds;

}

}

4、取得连接工具类

packagemon;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

publicclassDBUtils{

privatestaticThreadLocalconns=newThreadLocal();

privatestaticConnectionconn=null;

privateDBUtils(){

}

//获取连接

publicstaticsynchronizedConnectiongetConn(){

conn=conns.get();

if(conn==null){

//判断连接池是否为空为空则手动创建连接

if(ConnectionPool.getDataSource()!

=null){

try{

conn=ConnectionPool.getDataSource().getConnection();

}catch(SQLExceptione){

e.printStackTrace();

}

}else{

try{

Class.forName(Constants.DBDRIVER);

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}

try{

conn=DriverManager.getConnection(Constants.DBURL,

Constants.DBUSER,Constants.DBPASS);

}catch(SQLExceptione){

e.printStackTrace();

}

}

System.out.println("---get:

"+conn.toString());

conns.set(conn);

}

returnconn;

}

//获取事务管理类

publicstaticsynchronizedTransactionManagergetTranManger(){

returnnewTransactionManager(getConn());

}

//关闭结果集、数据库连接

publicstaticvoidclose(ResultSetres,PreparedStatementpre,Connectionconn){

booleanflag=false;

//关闭结果集

if(res!

=null){

try{

res.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

//关闭PreparedStatement

if(pre!

=null){

try{

pre.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

//关闭数据库连接

try{

//判断是否开启了事务如果开启了事务则不关闭连接连接会在事务提交或回滚是关闭

if(conn.getAutoCommit()){

if((conn!

=null)&&(!

conn.isClosed())){

System.out.println("---close:

"+conn.toString());

conn.close();

}

flag=true;

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

if(flag){

conns.remove();

}

}

}

//关闭数据库连接

publicstaticvoidclose(){

conn=conns.get();

try{

if((conn!

=null)&&(!

conn.isClosed())){

System.out.println("---close:

"+conn.toString());

conn.close();

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

conns.remove();

}

}

}

5、开启事物

packagemon;

importjava.sql.Connection;

importjava.sql.SQLException;

publicclassTransactionManager{

privateConnectionconn;

protectedTransactionManager(Connectionconn){

this.conn=conn;

}

//开启事务

publicvoidbeginTransation(){

try{

//设置事务自动提交

if(conn.getAutoCommit()){

conn.setAutoCommit(false);

}

}catch(SQLExceptione){

e.printStackTrace();

}

}

//提交事务并关闭连接

publicvoidcommitAndClose(){

try{

if(conn!

=null){

mit();

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

if(conn!

=null){

DBUtils.close();

}

}

}

//回滚事务并关闭连接

publicvoidrollbackAndClose(){

try{

conn.rollback();

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DBUtils.close();

}

}

}

二、文件上传预览

1、表单

none"/>

2、上传预览脚本

functionsetImagePreview(){

vardocObj=document.getElementById("doc");

varimgObjPreview=document.getElementById("preview");

if(docObj.files&&docObj.files[0]){//火狐下,直接设img属性

imgObjPreview.style.display="block";

imgObjPreview.style.width="100px";

imgObjPreview.style.height="100px";

//imgObjPreview.src=docObj.files[0].getAsDataURL();

//火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式

imgObjPreview.src=window.URL.createObjectURL(docObj.files[0]);

}else{//IE下,使用滤镜

docObj.select();

varimgSrc=document.selection.createRange().text;

varlocalImagId=document.getElementById("localImag");//必须设置初始大小

localImagId.style.width="100px";

localImagId.style.height="100px";//图片异常的捕捉,防止用户修改后缀来伪造图片

try{

localImagId.style.filter="progid:

DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";

localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src=imgSrc;

}catch(e){

alert("您上传的图片格式不正确,请重新选择!

");

returnfalse;

}

imgObjPreview.style.display='none';

document.selection.empty();

}

returntrue;

}

3、FileUpload文件

packagecom.rryy.util;

importjava.io.File;

importjava.io.FileOutputStream;

importjava.io.InputStream;

importjava.io.OutputStream;

importjava.text.SimpleDateFormat;

importjava.util.ArrayList;

importjava.util.Date;

importjava.util.HashMap;

importjava.util.Iterator;

importjava.util.List;

importjava.util.Map;

importjava.util.Random;

importjava.util.Set;

importjavax.servlet.http.HttpServletRequest;

importmons.fileupload.FileItem;

importmons.fileupload.disk.DiskFileItemFactory;

importmons.fileupload.servlet.ServletFileUpload;

publicclassFileUploadUtil{

privateHttpServletRequestrequest=null;

privateListitems=null;

privateMap>params=newHashMap>();

privateMapfiles=newHashMap();

publicFileUploadUtil(HttpServletRequestrequest,intmaxSize,StringtempDir)throwsException{

this.request=request;

//创建磁盘工厂

DiskFileItemFactoryfactory=newDiskFileItemFactory();

if(tempDir!

=null){

factory.setRepository(newFile(tempDir));

}

//创建处理工具

ServletFileUploadupload=newServletFileUpload(factory);

if(maxSize>0){

//设置上传文件an大小

upload.setFileSizeMax(maxSize);

}

//接受全部内容

this.items=upload.parseRequest(request);

this.init();

}

privatevoidinit(){

Iteratoriter=items.iterator();

while(iter.hasNext()){

FileItemitem=iter.next();

if(item.isFormField()){

Stringname=item.getFieldName();

Stringvalue=item.getString();

Listtemp=null;

if(this.params.containsKey(name)){

temp=this.params.get(name);

}else{

temp=newArrayList();

}

temp.add(value);

this.params.put(name,temp);

}else{

StringfileName=getFileName()+"."+item.getName().split("\\.")[1];

this.files.put(fileName,item);

}

}

}

privateStringgetFileName(){

StringBufferfileName=newStringBuffer();

SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMddHHmmssSSS");

fileName.append(sdf.format(newDate()));

Randomrandom=newRandom();

for(inti=0;i<3;i++){

fileName.append(random.nextInt(10));

}

returnfileName.toString();

}

publicStringgetParameters(Stringname){

Stringret=null;

Listitem=this.params.get(name);

if(item!

=null){

ret=item.get(0);

}

returnret;

}

publicString[]getParameterValues(Stringname){

String[]ret=null;

Listitem=this.params.get(name);

if(item!

=null){

ret=item.toArray(newString[]{});

}

returnret;

}

publicMapgetUploadFiles(){

returnthis.files;

}

publicListsaveAll(StringsaveDir)throwsException{

Listnames=newArrayList();

if(this.files.size()>0){

Setkeys=this.files.keySet();

Iteratorite=keys.iterator();

FilesaveFile=null;

InputStreamin=null;

OutputStreamout=null;

while(ite.hasNext()){

FileItemitem=this.files.get(ite.next());

StringfielName=getFileName()+"."+item.getName().split("\\.")[1];

saveFile=newFile(saveDir+fielName);

names.add(fielName);

try{

in=item.getInputStream();

out=newFileOutputStream(saveFile);

byte[]b=newbyte[1024];

inttemp=0;

while((temp=in.read(b))!

=-1){

out.write(b,0,1024);

}

}catch(Exceptione){

throwe;

}finally{

in.close();

out.close();

}

}

}

returnnames;

}

}

三、常用正则表达式

1、常用正则表达式

空行:

/^\s*$/g

Email地址:

/[a-za-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+/

四、常用正则表达式

1、导入的jQuery.js与jquery.validate.js等文件,注意顺序不要颠倒

2、指定哪个(或哪些)表单要在提交前先进行验证

$(function(){

$("#testForm").validate();

});

3、指定每个字段的验证规则

名称*

class="{required:

true,accept:

'gif',mess

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2