java小东东。 广东精鹰软件工作室(刘正仁)

本文提供了多个Java开发的功能实现示例,包括富文本编辑框使用、内嵌页与Struts结合、异步加载树、多附件上传与Struts结合、系统异常处理、网页调用Word打印以及Servlet中用iText生成PDF等,且均给出了详细代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下内容经本人(刘正仁)测试成功,如在使用的过程中有任何问题,请与我联系

 

1):富文本编辑框的使用。

源程序如下:

<%@ page contentType="text/html; charset=utf-8" language="java"%>

<%@include file="/support/template/taglibs.jsp"%>

<link href="<%=baseURL%>/support/css/table.css" rel=stylesheet type="text/css" >

<HTML>

<HEAD>

  <script type="text/javascript">

 

  _editor_url = "<%=baseURL%>/support/HTMLArea/";

 

  _editor_lang = "gb";

 

  var editor = null;

 

function initEditor() {

 

  editor = new HTMLArea("ta");

 

  editor.generate();

 

}

 

</script>

 

<script type="text/javascript" src="<%=baseURL%>/support/HTMLArea/htmlarea.js" ></script>

 

<title></title>

</HEAD>

<script language="javascript">

function getValue()

{

       document.all("test").onsubmit()

       alert(document.all("ta").value)

}

</script>

 

 

<body  topmargin="0" leftmargin="0" scroll="yes" onload="initEditor();"  >

 

<html:form action="/edit.do" method="post" styleId="test">

 

 

      <table width="100%" border="1" cellpadding="0" cellspacing="0"  class="table_view">

         <tr>

 

 

    <td  style=" width:100%">

       <html:textarea property="username" styleId="ta"  rows="20" cols="80">

 

       </html:textarea>

 

 

 

       </tr>

</table>

 

 

     <html:submit>submit

   

</html:submit>

 <input type="button" name="Submit" value="getValue" onClick="getValue()">

</html:form>

</body>

</HTML>

 

 

 

 

2)内嵌页与struts结合的使用。

1.  1    action 代码

   package test;

 

 

import org.apache.struts.actions.*;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

 

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.upload.MultipartRequestWrapper;

import org.apache.struts.util.MessageResources;

import test.TestStruts;

 

 

public class TestInclude extends Action {

    public ActionForward execute(

          ActionMapping mapping,

          ActionForm form,

          HttpServletRequest request,

          HttpServletResponse response)

          throws Exception {

 

 

          // Create a RequestDispatcher the corresponding resource

          String path = mapping.getParameter();

          if (path == null) {

              throw new ServletException(messages.getMessage("include.path"));

          }

 

 

          RequestDispatcher rd =

              servlet.getServletContext().getRequestDispatcher(path);

 

 

          if (rd == null) {

              throw new ServletException(messages.getMessage("include.rd", path));

          }

 

 

          // Unwrap the multipart request, if there is one.

          if (request instanceof MultipartRequestWrapper) {

              request = ((MultipartRequestWrapper) request).getRequest();

          }

 

 

//            在这里组织好formbean

          String id=request.getParameter("id");

 

          System.out.println("id="+id);

 

          ((TestStruts)form).setUsername("bbbbb");

 

 

 

 

 

         // request.setAttribute("testForm",form);

          // Forward control to the specified resource

          rd.include(request, response);

 

 

          // Tell the controller servlet that the response has been created

          return (null);

 

 

      }

 

 

}

 

 

 

 

2.  Action 中的配置

<action path="/test" type="test.TestInclude"  parameter="/testInclude.jsp" name="testForm"  scope="request" />

 

 

 

3:  主页面代码

<%@page contentType="text/html; charset=UTF-8"%>

<html>

<head>

<title>testI</title>

</head>

<body bgcolor="#ffffff">

<h1>

 

<jsp:include flush="true" page="/test.do?id=1"></jsp:include>

 

</h1>

</body>

</html>

 

 

4 :   嵌入页面代码

 

 

<%@ page contentType="text/html; charset=UTF-8" %>

<%@include file="/support/template/taglibs.jsp"%>

<html>

<head>

<title>

testInclude

</title>

</head>

<body bgcolor="#ffffff">

<h1>

<bean:write name="testForm" property="username"/>

 

</h1>

</body>

</html>

 

 

 

 

(3):异步加载树的使用

 

 

   1:树的页面源程序。

       

       <%@ page contentType="text/html;charset=gb2312"%>

<%

response.setDateHeader("Expires",(new java.util.Date(0)).getTime());

request.setCharacterEncoding("GBK");

%>

<%String baseURL=request.getContextPath();%>

 

 

<html>

<head>

<title>组织机构(用户)</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<script type="text/javascript" src="<%=baseURL%>/js/xloadtree/xtree.js"></script>

 

<script type="text/javascript" src="<%=baseURL%>/js/xloadtree/xmlextras.js"></script>

 

<script type="text/javascript" src="<%=baseURL%>/js/xloadtree/xloadtree.js"></script>

 

<link type="text/css" rel="stylesheet" href="<%=baseURL%>/css/xloadtree/xtree.css">

 

 

 

<script type="text/javascript">

/// 改变系统默认图标,将树显示成XP风格

webFXTreeConfig.rootIcon    = "<%=baseURL%>/images/xloadtree/folder.png";

webFXTreeConfig.openRootIcon  = "<%=baseURL%>/images/xloadtree/openfolder.png";

webFXTreeConfig.folderIcon    = "<%=baseURL%>/images/xloadtree/folder.png";

webFXTreeConfig.openFolderIcon  = "<%=baseURL%>/images/xloadtree/openfolder.png";

webFXTreeConfig.fileIcon    = "<%=baseURL%>/images/xloadtree/user.gif";

webFXTreeConfig.lMinusIcon    = "<%=baseURL%>/images/xloadtree/Lminus.png";

webFXTreeConfig.lPlusIcon   = "<%=baseURL%>/images/xloadtree/Lplus.png";

webFXTreeConfig.tMinusIcon    = "<%=baseURL%>/images/xloadtree/Tminus.png";

webFXTreeConfig.tPlusIcon   = "<%=baseURL%>/images/xloadtree/Tplus.png";

webFXTreeConfig.iIcon     = "<%=baseURL%>/images/xloadtree/I.png";

webFXTreeConfig.lIcon     = "<%=baseURL%>/images/xloadtree/L.png";

webFXTreeConfig.tIcon     = "<%=baseURL%>/images/xloadtree/T.png";

webFXTreeConfig.blankIcon         = '<%=baseURL%>/images/xloadtree/blank.png';

 

 

   //显示根(同时从服务获取所有主分类节点)

   var tree = new WebFXLoadTree("集团","<%=baseURL%>/servlet/CategoryService?GetType=0",null,"doNothing()")

 

 

 

 

 

 

 

//显示第一级节点

 

 

  function doCategoryAction(name){

   alert(name)

  }

 

 

  function doPriCategoryAction(name){

   alert(name)

  }

 

 

 

 

function doNothing()

{

}

</script>

</head>

<body  class="clsTreeBody">

   <script language="javascript">

 

      document.write(tree);

 

   </script>

 

 

</body>

</html>

 

 

 

 

2:服务servlet代码

   package servlet;

 

 

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.Collection;

 

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

 

public class CategoryService extends HttpServlet {

  

   private static final String CONTENT_TYPE = "text/xml;charset=GBK";

    private String urlBase="";

 

 

   /**

    * Constructor of the object.

    */

   public CategoryService() {

      super();

   }

 

 

   /**

    * Destruction of the servlet. <br>

    */

   public void destroy() {

      super.destroy(); // Just puts "destroy" string in log

          // Put your code here

   }

 

 

  

   public void doGet(HttpServletRequest request, HttpServletResponse response)

             throws ServletException, IOException {

              urlBase=request.getContextPath();

              response.setContentType(CONTENT_TYPE);

              request.setCharacterEncoding("GBK");

 

 

              PrintWriter out = response.getWriter();

              String strXML = "<?xml version=/"1.0/" encoding=/"GBK/"?>/n";

              strXML += "/t<tree>/n";

              int getType = Integer.parseInt( (String) request.getParameter("GetType"));

              if (getType == 0) {

                //获取所有主分类的XML

                strXML += MakePriCategorySetXML();

              }

            

              else if (getType == 1) {

                //获取某个主分类下所有文档分类的XML

                 int comid = Integer.parseInt( (String) request.getParameter(

                    "comid"));

                strXML += makeItemsInPriCategoryXML(comid);

              }

              strXML += "/t</tree>/n";

              out.print(strXML);

              System.out.println(strXML);

   }

 

 

 

 

   public void doPost(HttpServletRequest request, HttpServletResponse response)

             throws ServletException, IOException {

      doGet(request,response);

 

 

   }

 

 

    /**

      * 创建每一个节点的XML文本

      * @param name String

      * @param action String

      * @param src String

      * @param icon String

      * @param openIcon String

      * @return String

      */

     private String MakeItemXML(String name, String action, String src,

                                String icon, String openIcon) {

       String strXML = "/t";

       strXML += "<tree text=/"" + name + "/"";

       strXML += " action=/"" + action + "/"";

       if (src != null) {

         strXML += " src=/"" + src + "/"";

       }

       if (icon != null) {

         strXML += " icon=/"" + icon + "/"";

       }

       if (openIcon != null) {

         strXML += " openIcon=/"" + openIcon + "/"";

       }

       strXML += "/>/n";

       return strXML;

     }

 

 

     /**

      * 获取所有主分类节点的XML文本

      * @return String

      */

     private String MakePriCategorySetXML() {

       String strXML = "";

       try {

         String name="";

         Collection c=new ArrayList();

         Copmany com=new Copmany();

         com.setId(1);

         com.setName("测试公司1");

         c.add(com);

         com=new Copmany();

         com.setId(1);

         com.setName("测试公司1");

         c.add(com);

         com=new Copmany();

         com.setId(2);

         com.setName("测试公司2");

         c.add(com);

         com=new Copmany();

         com.setId(3);

         com.setName("测试公司3");

         c.add(com);

         Object [] o=c.toArray();

        for(int i=0;i<o.length;i++) {

               name=((Copmany)o[i]).getName();

            int id=((Copmany)o[i]).getId();

           String action = "javascript:doPriCategoryAction('" + name +"')";

 

           String icon = urlBase+"/images/xloadtree/folder.png";

           String openIcon = urlBase+"/images/xloadtree/openfolder.png";

         

          String src=urlBase+"/servlet/CategoryService?GetType=1&amp;comid="+id;

 

                

           strXML += MakeItemXML(name, action, src, icon, openIcon);

         }

       }

       catch (Exception ex) {}

       return strXML;

     }

 

 

     /**

      * 获取某个主分类下的所有文档分类的XML

      * @param priCatID int

      * @return String

      */

    

     private String makeItemsInPriCategoryXML(int comid) {

       String strXML = "";

       String name="";

       try {

        //根据公司id找到相应的部门

           for(int i=0;i<300;i++)

           {

           name="name"+i;

           String action = "javascript:doCategoryAction('"+name+"')";

 

           String icon = urlBase+"/images/xloadtree/folder.png";

           String openIcon =urlBase+"/images/xloadtree/openfolder.png";

 

           String src=null;

           //判断是否存在有下一级,有的话则要继续。

          // if (dao.hasChildren(id)) {

             //String src =urlBase+"/servlet/CategoryService?GetType=2";

                

           //}

           strXML += MakeItemXML(name, action, src, icon, openIcon);

         }

       }

       catch (Exception ex) {}

       return strXML;

     }

 

 

   public void init() throws ServletException {

          // Put your code here

   }

 

 

}

 

 

 

 

(4):jfreeChar报表在html中显示

 

 

1 :servlet中生成图案代码

 

package test.servlet;

 

 

import java.io.IOException;

import java.io.PrintWriter;

 

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

 

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartUtilities;

import org.jfree.chart.JFreeChart;

import org.jfree.data.DefaultPieDataset;

 

 

 

 

public class ChartDemoServlet extends HttpServlet {

   public ChartDemoServlet() {

      super();

   }

 

 

   /**

    * Destruction of the servlet. <br>

    */

   public void destroy() {

      super.destroy(); // Just puts "destroy" string in log

          // Put your code here

   }

 

 

   public void doGet(HttpServletRequest request, HttpServletResponse response)

             throws ServletException, IOException {

 

 

      response.setContentType("image/jpeg");

      DefaultPieDataset data = getDataSet();

      JFreeChart chart = ChartFactory.createPieChart("水果产量图",data,true,false,false);

 

 

      ChartUtilities.writeChartAsJPEG(response.getOutputStream(),100,chart,400,300,null);

          }

      /**

          * 获取一个演示用的简单数据集对象

          * @return

          */

//以下要替换成自己从数据中得到的数据

      private static DefaultPieDataset getDataSet() {

 

      DefaultPieDataset dataset = new DefaultPieDataset();

 

      dataset.setValue("苹果",100);

 

      dataset.setValue("梨子",200);

 

      dataset.setValue("葡萄",300);

 

      dataset.setValue("香蕉",400);

 

      dataset.setValue("荔枝",500);

 

      return dataset;

 

          }

 

 

 

 

 

 

 

   public void doPost(HttpServletRequest request, HttpServletResponse response)

             throws ServletException, IOException {

 

 

      doGet(request,response);

   }

 

 

   public void init() throws ServletException {

          // Put your code here

   }

 

 

}

 

 

2jsp页面调用的代码

 

  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>

  <head>

    <title>My JSP 'freechar.jsp' starting page</title>

   

    <meta http-equiv="pragma" content="no-cache">

    <meta http-equiv="cache-control" content="no-cache">

    <meta http-equiv="expires" content="0">

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

    <meta http-equiv="description" content="This is my page">

   

    <!--

    <link rel="stylesheet" type="text/css" href="styles.css">

    -->

  </head>

 

  <body>

    <img src="/free/servlet/ChartDemoServlet" border="0">

 

  </body>

</html>

 

 

(4):jfreeCharireport结合和ireport使用自定义数据源。代码如下:

 

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>

<%@ page import="dori.jasper.engine.*" %>

<%@ page import="dori.jasper.engine.data.*" %>

 

 

<%@ page import="java.util.*" %>

<%@ page import="java.io.*" %>

 

 

<%@ page import="java.sql.*" %>

<%@ page import="test.jfree.*" %>

<%@ page import="java.awt.*" %>

<%@ page import="java.awt.image.*" %>

<%@ page import="org.jfree.chart.ChartFactory" %>

<%@ page import="org.jfree.data.DefaultCategoryDataset" %>

<%@ page import="org.jfree.data.CategoryDataset" %>

<%@ page import="org.jfree.chart.plot.PlotOrientation" %>

<%@ page import="org.jfree.chart.JFreeChart" %>

<%@ page import="test.data.*" %>

 

 

<%

try

{

  

      DefaultCategoryDataset dataset = new DefaultCategoryDataset();

      dataset.addValue(100, "北京", "苹果");

      dataset.addValue(100, "上海", "苹果");

      dataset.addValue(100, "广州", "苹果");

      dataset.addValue(200, "北京", "梨子");

      dataset.addValue(200, "上海", "梨子");

      dataset.addValue(200, "广州", "梨子");

      dataset.addValue(300, "上海", "葡萄");

      dataset.addValue(300, "广州", "葡萄");

      dataset.addValue(400, "北京", "香蕉");

      dataset.addValue(400, "上海", "香蕉");

      dataset.addValue(400, "广州", "香蕉");

      dataset.addValue(500, "北京", "荔枝");

      dataset.addValue(500, "上海", "荔枝");

      dataset.addValue(500, "广州", "荔枝");

         

      JFreeChart chart=ChartFactory.createBarChart3D("水果产量图","水果", "产量",dataset,PlotOrientation.VERTICAL,true,false,false);

         

      

         

      chart.setBackgroundPaint(new GradientPaint(0, 0, Color.WHITE, 1000, 0, Color.WHITE));

      BufferedImage image = chart.createBufferedImage(400, 400);

 

 

          /*   */

         

      Collection c=new ArrayList();

  

         

      test.data.CustomBean cbb=new test.data.CustomBean("刘正仁",new Integer(22),"刘正仁"," bb");

      c.add(cbb);

           cbb=new test.data.CustomBean("老婆",new Integer(23),"f"," f");

   c.add(cbb);

  

          Map parameters = new HashMap();

      parameters.put("ChartImage", image);

      

     File reportFile = new File("F:/jfreechar/WebRoot/test.jasper");//这个文件是由ireport生成的.

 

       if(reportFile.exists())

       {

          System.out.println("这个文件存在");

       }

       System.out.println(reportFile.getPath());

        byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,new JRBeanCollectionDataSource(c));

 

             

               response.reset();

            response.setContentType("application/pdf");

            response.setContentLength(bytes.length);

            ServletOutputStream ouputStream = response.getOutputStream();

            ouputStream.write(bytes, 0, bytes.length);    

            ouputStream.flush();

            ouputStream.close();

            }catch(Exception ex)

            {

               ex.printStackTrace();

            }

%>

 

 

(5):动态table的使用。   使用请见页面中以实现的代码

 

1:首选要在使用动态表的页面引入DynamicTable.js文件.

2:动态表中有如下性性在构造子中必须加入.

:

var NewObject=new DynamicTable('NewObject',2,arr,arr1,'form1','Content',listValue,'del.gif');

第一个参数为对象的名称.

第二个参数数字为动态表默认的长度.

第三个参数为一个数组,指明表头和所占比例(只支持白分比)

   如下: var arr=['列头1,10%','列头2,30%','列头3,30%','列头4,30%']; //列头名,宽度

4个参数为控件的相关属性定义.为一数组,长度与第三个参数一致.

:

var arr1=['delFlagMany,0,||','userName,20,||,text,del.gif||doNothing','userNike,12,||,text,,','userP,20,||,nothing']; //,长度,(||分开多个值),控件类型

 

 

目前控件支持 text, textarea, selectdatefile和没有.

 

 

数组中第一个基本可以写死,第一项为多选框的名字前缀,后面会跟一个数字。第二个为长度,由于多选框没有长度,这项可以写为0,第三项为hiddenID的默认值,中间用||分开。

 

 

后面的参数为每个单元格中的输入控件。有4项,第一项为控件的名字前缀,第二项为控件长度,第三项为控件的默认值,第4项为控件的类型。第5项为控件后面是否带有选择按钮,其中按钮有路经和执行的javaScript的方法,他只能带有两个参数。

(5):多附件上传与struts结合

   1 使用(4)中的动态table,实现文件可以选择多个

   2 相应的action中的代码

     package test;

 

 

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionForm;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.Action;

import org.apache.struts.upload.*;

import java.util.*;

import java.io.*;

 

 

 

 

public class TestS extends Action {

    public ActionForward execute(ActionMapping actionMapping,

                                 ActionForm actionForm,

                                 HttpServletRequest servletRequest,

                                 HttpServletResponse servletResponse) throws Exception{

        //String test[] =((TestStruts)actionForm).getUsername();

        //for(int i=0;i<test.length;i++)

            //System.out.println(test[i]);

        Hashtable files = actionForm.getMultipartRequestHandler().getFileElements();

 

        System.out.println("files.size() :"+files.size() );

        FormFile f[] = null;

        f = new FormFile[files.size()];

        String filePath = servletRequest.getContextPath();

        System.out.println("filePath="+filePath);;

 

 

       java.util.Enumeration fileKey = files.keys();

       int i = 0;

      String fname = "";

     while (fileKey.hasMoreElements()) {

       fname = (String) fileKey.nextElement();

       System.out.println("fname="+fname);

       f[i] = (FormFile) files.get(fname);

      System.out.println("realNmae="+f[i].getFileName());

       i++;

     }

     for (int a = 0; a < f.length; a++)

     {

         if (f[a] == null || f[a].getFileSize() == 0 || f[a].getFileName() == null ||

             f[a].getFileName().equals("")) {

         }

 

 

         else {

             InputStream stream = f[a].getInputStream();

 

 

             OutputStream bos = new FileOutputStream("F:/work/ytstm/YTSTMWeb/" +

 

                     f[a].getFileName());//修改成上传文件存放路经

             System.out.println("显示系统名" + f[a].getFileName()); //显示系统名

              System.out.println("文件大小:" + f[a].getFileSize() ); //显示系统名

             int bytesRead = 0;

             byte[] buffer = new byte[8192];

             while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {

                 bos.write(buffer, 0, bytesRead);

             }

             bos.close();

         }

     }

 

 

 

 

 

 

        return actionMapping.findForward("test");

        }

}

 

 

 

 

 

(5): 系统异常处理。

 

 

 

请在要处理异常的action中加入如下示例的代码:

 

 

<action input="/login.jsp" name="loginForm" path="/login" scope="request" type="ytstm.security.LoginAction" validate="true">

       <exception

 

    handler="cotech.framework.web.BaseExceptionHandler"

 

    key="global.error.systemprompt" path="/login.jsp" type="cotech.framework.exceptions.BaseException"/>

 

      <forward name="success" path="/support/common/window.jsp" redirect="true"/>

      <forward name="failure" path="/login.jsp" redirect="true"/>

 

 

 

 

    </action>

  

 

 

(6): 网页调用word打印。

 

<html>

<head>

<title>无标题文档</title>

<%

response.setContentType("application/msword");

%>

</head>

<%String flag=request.getParameter("flag");

System.out.println(flag);

 

 

%>

 

 

<body >

<img src="support/images/apply.gif" width="70" height="25">

<b>gffgdfgdfg</b>

</body>

</html>

 

 

 

 

 

 

 

 

(7):servlet中用itext生成pdf

 

 

 

package test;

 

 

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.PrintWriter;

 

 

import javax.servlet.ServletException;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

 

import com.lowagie.text.Document;

import com.lowagie.text.DocumentException;

import com.lowagie.text.Font;

import com.lowagie.text.PageSize;

import com.lowagie.text.Paragraph;

import com.lowagie.text.pdf.BaseFont;

import com.lowagie.text.pdf.PdfWriter;

 

 

public class TestPdf extends HttpServlet {

 

 

  public TestPdf() {

         super();

  }

 

 

  /**

   * Destruction of the servlet. <br>

   */

  public void destroy() {

         super.destroy(); // Just puts "destroy" string in log

         // Put your code here

  }

 

 

  public void doGet(HttpServletRequest request, HttpServletResponse response)

                throws ServletException, IOException {

         try

         {

    response.setContentType("application/pdf");

         BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

         Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);

         Document document=new Document(PageSize.A4, 0, 0, 12, 12);

    ByteArrayOutputStream buffer = new ByteArrayOutputStream();

         PdfWriter writer=PdfWriter.getInstance( document, buffer );

    document.open();

         //文档内容自己填充

 

    document.add(new Paragraph("dfsfsdfffdsf中文vxcvxcv",FontChinese));

 

    document.close();

    System.out.println("dfsfsdfffdsf中文vxcvxcv");

         byte[] bytes = buffer.toByteArray();

          response.setContentLength(bytes.length);

          ServletOutputStream ouputStream = response.getOutputStream();

          ouputStream.write(bytes, 0, bytes.length);

           ouputStream.flush();

           ouputStream.close();

         }

         catch(Exception ex)

         {

           ex.printStackTrace();

         }

  }

 

 

  public void doPost(HttpServletRequest request, HttpServletResponse response)

                throws ServletException, IOException {

 

 

    doGet(request,response);

  }

 

 

  /**

   * Initialization of the servlet. <br>

   *

   * @throws ServletException if an error occure

   */

  public void init() throws ServletException {

         // Put your code here

  }

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值