18910140161

Java实现在线word文档打开并发处理

顺晟科技

2021-08-28 09:42:29

120

1.需求

防止多个用户同时打开文件,从而导致编辑保存的文件以相互复盖。

2.页面代码

(1)web.xml

[plain] view plaincopy

!-page office begin -

servlet

Servlet-namepos服务器/servlet-name

servlet-class com . zhuozhengsoft . page office . poserver . server/servlet-class

/servlet

Servlet-mapping

Servlet-namepos服务器/servlet-name

URL-pattern/po server . ZZ/URL-pattern

/servlet-mapping

Servlet-mapping

Servlet-namepos服务器/servlet-name

URL-pattern/seal setup . exe/URL-pattern

/servlet-mapping

Servlet-mapping

Servlet-namepos服务器/servlet-name

URL-pattern/po setup . exe/URL-pattern

/servlet-mapping

Servlet-mapping

Servlet-namepos服务器/servlet-name

URL-pattern/page office . js/URL-pattern

/servlet-mapping

Servlet-mapping

Servlet-namepos服务器/servlet-name

URL-pattern/jquery . min . js/URL-pattern

/servlet-mapping

Servlet-mapping

Servlet-namepos服务器/servlet-name

URL-pattern/pobstyle . CSS/URL-pattern

/servlet-mapping

servlet

servlet-name adminseal/servlet-name

servlet-class com . zhuozhengsoft . page office . poserver . adminseal/servlet-class

/servlet

Servlet-mapping

servlet-name adminseal/servlet-name

URL-pattern/adminseal . ZZ/URL-pattern

/servlet-mapping

Servlet-mapping

servlet-name adminseal/servlet-name

URL-pattern/loginseal . ZZ/URL-pattern

/servlet-mapping

Servlet-mapping

servlet-name adminseal/servlet-name

URL-pattern/sealimage . ZZ/URL-pattern

/servlet-mapping

Mime-mapping

扩展MHT/扩展

mime-type message/RFC 822/mime-type

/mime-mapping

Context-param

param-nameadminseal-password/param-name

param-value 1111/param-value

/context-param

!-page office end -

(2)Default.jsp页面

[plain] view plaincopy

%@ page language='java '

Import=' java.util. *,com.zhuozhengsoft.pageoffice. * '

PageEncoding='utf-8'%

!doctype html public '-/W3C//dtdxhtml 1.0 transitional//en ' ' 3358 www . w3 . org/tr/XHTML 1

html xmlns=' http://www . w3 . org/1999/XHTML '

头(电影)

标题演示:同时控制/标题

!- PageOffice.js和jquery.min.js文件必须引用

Script type='text/javascript '

SRC=' %=request . getcontextpath()%/jquery . min . js '/脚本

Script type='text/javascript '

src=' %=request . getcontextpath()%/page office . js ' id=' po _ js _ main '/script

/head

body style=' font-size 3360 12px;'是

Form id='form1' runat='server '

迪夫

style=' border : solid 1px royal blue;Width: 500px文本-Align 3360中心:Hite 3360 200 px;margin 3360 100 px auto;’是

DIV Style=' Margin-top 3360 50 px;Height: 170px

Span style=' color: Red'是操作说明:/spanspan首先单击“张三打开文件”,在弹出窗口中打开Word文档(不要关闭窗口)。br/再点击“董事打开文件”即可查看并发控制效果。/span

Br/

Br/

1:a href=' JavaScript : po browser . open window modeless(' word . JSP?Userid=1 ','宽度=1200px高度=800px);请参阅张三打开文件/a

Br/

Br/

2:a href=' JavaScript : po browser . open window modeless(' word . JSP?Userid=2 ','宽度=1200px高度=800px);请参阅董事打开文件/a

/div

/div

/form

/body

/html

(3)Wod.jsp

[plain] view plaincopy

%@ page language='java '

Import=' java.util. *,com.zhuozhengsoft.pageoffice. * '

PageEncoding='utf-8'%

%

String userName=' somebody

stringuserid=request . get parameter(' userid ')。tostring();

If (userId.equals('1 '))

{

UserName='张三';

}

Else

{

UserName=‘董事’;

}

pageofficectrl po ctrl=new pageofficectrl(请求);

poctrl . setserverpage(request . getcontextpath()'/po server . ZZ ');

PoCtrl.addCustomToolButton(“保存”,“保存”,1);

poctrl . setsavefilepage(' save file . JSP ');

//设置并发控制时间

poctrl . settime slice(20);

poctrl . webopen(‘doc/test . doc’,open modetype.docnormaledit,username);

%

!doctype html public '-//W3C//dtd html 4.01 transitional//en '

Html

头(电影)

标题保存最简单的打开Word文件/title

/head

菩提

Script type='text/javascript '

Function Save() {

document . getelementbyid(' pageofficectrl 1 ')。web save();

}

//关闭文档前提示保存

Function BeforeBrowserClosed(){

if(document . getelementbyid(' pageofficectrl 1 '))。is dirty) {

If(confirm('提示:文档已修改)。是否继续关闭并取消保存?”)。)

{

Return true

}else{

Return false

}

}

}

/脚本

Form id='form1 '

当前用户:%=用户名%。

Divstyle=' width3360 autoHeight:700px

%=poctrl.gethtml代码(' pageofficectrl1')%

/div

/form

/body

/html

(4)SaveFile.jsp

[plain] view plaincopy

% @ page language=' Java ' import=' Java . util . *,com . zhuozhengsoft . page office . * ' page enent

%

file saver fs=newfile saver(request,response);

fs . save tofile(request . getsession())。getservletcontext()。Getreal path(' concurrency ctrl/doc)

FS . close();

%

3.效果演示

4:周:

(1)此示例使用pageoffice提供的POBrowser方法,以便与所有浏览器兼容。使用POBrowser页面比较pageoffice.js和jquery.min.js文件。

Pageoffic.js文件和jquey.min.js文件封装在jar中。您只需要web.xml的配置路径。通常位于当前项目的根目录下。请参考上面的代码

脚本类型=' text/JavaScript ' src=' %=request . getcontextpath()%/jquery . min . js '/

脚本类型=' text/JavaScript ' src=' %=request . getcontextpath()%/page office . js ' id=

引用Pageoffice.js时必须使用id

(2)打开文档时,系统会提示您是否注册

PageOffice V4.0标准试用序列号:IMTG6-BSXJ-JGZ6-3BIWM

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航