📄 wordserver.java
字号:
package gov.gdlt.ssgly.taxcore.taxblh.gzda.service;
import java.util.Enumeration;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import com.oreilly.servlet.multipart.*;
import gov.gdlt.ssgly.taxcore.taxblh.gzda.service.xmlinterface.*;
import gov.gdlt.ssgly.taxcore.taxblh.gzda.service.xmlinterface.impl.*;
public class WordServer extends HttpServlet{
private static String FileSystem_Path="";
private static int FileSystem_Maxsize=2097152;
private ResourceBundle bundle = null;
private SqlSelectBLH sblh=null;
private TreeMenuBLH tblh=null;
public void init() throws ServletException {
/**
Properties p=null;
try {
String path="properties/Filesystem.properties";
try {
p= Resources.getResourceAsProperties(path);
} catch (IOException ex) {
}
// bundle = ResourceBundle.getBundle("Filesystem");
FileSystem_Path= p.getProperty("filesystem.path");
FileSystem_Maxsize = Integer.parseInt(p.getProperty("filesystem.maxsize"));
} catch (MissingResourceException me)
{
throw new ServletException("找不到系统初始化配置文件或配置文件不正确!");
}
**/
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
String filename = "";
if (request.getParameter("caseno") != null){
filename=request.getParameter("caseno");
}
filename=filename.substring(0,filename.indexOf("?"));
HttpSession session =request.getSession();
//session.setAttribute("caseno",filename);
String test=(String)session.getAttribute("caseno");
//System.out.println("----------------"+test);
//File OpenFile=new File(FileSystem_Path + filename);
OracleBlobParseBLH ob=new OracleBlobParseBLH();
InputStream Open_FileStream = ob.getblob(filename);
//if (OpenFile.exists()) {
if(Open_FileStream!=null){
//InputStream Open_FileStream = new FileInputStream(OpenFile);
if (Open_FileStream.available()<FileSystem_Maxsize) {
response.setContentType("msword/application");
response.setHeader("Content-disposition","attachment; filename="+filename);
BufferedInputStream Buffer_IStream = null;
BufferedOutputStream Buffer_OStream = null;
try {
Buffer_IStream = new BufferedInputStream(Open_FileStream);
Buffer_OStream = new BufferedOutputStream(response.getOutputStream());
byte[] buff = new byte[2048];
int bytesRead;
while((bytesRead = Buffer_IStream.read(buff, 0, buff.length))!=-1)
{
Buffer_OStream.write(buff,0,bytesRead);
}
} catch(final IOException e)
{
System.out.println ( "出现IOException." + e );
}
finally
{
if (Buffer_IStream != null) Buffer_IStream.close();
if (Buffer_OStream != null) Buffer_OStream.close();
}
} //if size
else
{
PrintWriter out = response.getWriter();
out.println("<html>"); out.println("<body>"); out.println("<head>");
out.println("<title>打开文档错误</title>");
out.println("</head>"); out.println("<body>");
out.println("文档太大,系统不允许下载,为了效率限制文档在2M以内");
out.println("</body>");
}
}//if File.exists
else
{
PrintWriter out = response.getWriter();
out.println("<html>"); out.println("<body>"); out.println("<head>");
out.println("<title>打开文档错误</title>");
out.println("</head>"); out.println("<body>");
out.println("文档不存在,请重新下载");
out.println("</body>");
}
}
//save
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
//File dir = new File(FileSystem_Path);
PrintWriter out = response.getWriter();
response.setContentType("text/plain");
out.println("Demo Upload Servlet using MultipartParser");
out.println();
try {
MultipartParser mp = new MultipartParser(request, FileSystem_Maxsize);
Part part;
while ((part = mp.readNextPart()) != null) {
String name = part.getName();
if (part.isParam()) {
ParamPart paramPart = (ParamPart) part;
String value = paramPart.getStringValue();
out.println("param: name=" + name + "; value=" + value);
}
else
if (part.isFile()) {
FilePart filePart = (FilePart) part;
String fileName = filePart.getFileName();
//System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&="+fileName);
InputStream stream=filePart.getInputStream();
if(delblob(fileName)==1){
}else{
return;
}
OracleBlobParseBLH ob=new OracleBlobParseBLH();
ob.saveblob(fileName,stream);
//if (fileName != null) {
// long size = filePart.writeTo(dir);
// out.println("file: name=" + name + "; fileName=" + fileName + ", filePath=" +
// filePart.getFilePath() + ", contentType=" + filePart.getContentType() + ", size=" + size);
//}
//else {
// out.println("file: name=" + name + "; EMPTY");
//}
out.flush();
}//if
}//while
}
catch (IOException lEx) {
System.out.println(lEx.toString());
//this.getServletContext().log(lEx, "error reading or saving file");
}
}
public int delblob(String url){
String xml="<?xml version='1.0' encoding='GBK'?>"+
"<root>"+
"<action>"+
"<delete tablename='T_GZDA_FILEMANAGERDETAIL' label='deletefiledetail'>"+
"<rows>"+
"<url>"+url+"</url>"+
"</rows>"+
"</delete>"+
"</action>"+
"</root>";
GZDAcurrencySaveBLH save=new GZDAcurrencySaveBLH();
int rt=0;
rt=save.save(xml);
return rt;
}
public void destroy() {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -