首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从GWT调用servlet,使用servlet生成的post数据和下载文件

从GWT(Google Web Toolkit)调用servlet,使用servlet生成的post数据和下载文件,需要遵循以下步骤:

  1. 创建一个servlet,用于处理post数据和下载文件。
  2. 在GWT客户端代码中,使用RequestBuilderXMLHttpRequest向servlet发送post请求。
  3. 在servlet中,处理post数据并生成下载文件。
  4. 将下载文件的输入流写入到HttpServletResponse的输出流中,并设置相应的响应头以实现文件下载。

下面是一个简单的示例代码:

GWT客户端代码:

代码语言:java
复制
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, "http://localhost:8080/myapp/MyServlet");
builder.setHeader("Content-Type", "application/x-www-form-urlencoded");
builder.setRequestData(new JSONObject().put("key", "value").toString());
builder.setCallback(new RequestCallback() {
    @Override
    public void onResponseReceived(Request request, Response response) {
        // 处理响应数据
    }

    @Override
    public void onError(Request request, Throwable exception) {
        // 处理错误
    }
});
builder.send();

Servlet代码:

代码语言:java
复制
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // 读取post数据
    String key = request.getParameter("key");

    // 生成下载文件
    String filename = "myfile.txt";
    String content = "This is the content of the file.";
    byte[] contentBytes = content.getBytes("UTF-8");
    ByteArrayInputStream bais = new ByteArrayInputStream(contentBytes);

    // 设置响应头以实现文件下载
    response.setHeader("Content-Disposition", "attachment; filename=" + filename);
    response.setContentType("application/octet-stream");
    response.setContentLength(contentBytes.length);

    // 将下载文件的输入流写入到HttpServletResponse的输出流中
    try (ServletOutputStream out = response.getOutputStream()) {
        byte[] buffer = new byte[1024];
        int bytesRead;
        while ((bytesRead = bais.read(buffer)) != -1) {
            out.write(buffer, 0, bytesRead);
        }
    }
}

在这个示例中,我们使用GWT客户端代码向servlet发送post请求,并在servlet中处理post数据并生成下载文件。最后,我们将下载文件的输入流写入到HttpServletResponse的输出流中,并设置相应的响应头以实现文件下载。

请注意,这只是一个简单的示例代码,实际应用中可能需要根据具体需求进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • xwiki管理指南-短网址

    请注意,如果你使用是打包zip安装xwiki(包含jettyHSQLDB),那么你还需要: 除去现有的webapps/root目录 把现有的webapps/xwiki目录重命名为webapps...此外,XWiki 6.2.8/6.4.3/7.0开始,当以ROOT部署,你必须到xwiki.cfg配置文件设置xwiki.webapppath为空,如下所示: xwiki.webapppath= II.../*.gwtrpc: GWT-RPC调用, 服务于XWiki GWT Servlet /webdav/*: WebDav调用, 服务于XWiki WebDAV Servlet /XWikiService...安装步骤: 下载JAR并放在WEB-INF/lib 编辑WEB-INF/web.xml并添加filter-mapping ,可查看文档 拖拉以下内容到WEB-INF/urlrewrite.xml...Servlet容器 配置web.xml使/*URL通过Struts Servlet使/resources/**/*.gwtrpcURL通过GWT Servlet 告诉XWiki不产生带有binURL

    2.4K10

    javaWeb核心技术第七篇之HTTP、Tomcat、Servlet、RequestResponse

    , 浏览器解析内容" - servlet入门: "本质上就是一个运行在服务器上类" - 作用:1.接受请求 2.调用Service 处理业务逻辑 3.生成响应结果...当服务器正常关闭时候或项目服务器中移除时候,服务器会调用destroy()方法,将该servlet对象销毁 ★: 不论访问多少次只有一个servlet对象" 这个servlet是一个单实例...javaEE所有规范web服务器(servletjsp) tomcat apache 小型免费支持servletjsp规范web服务器 Tomcat服务器 下载...接受浏览器请求 2. 处理请求 3. 生成响应信息 入门使用: 1....文件下载中,在响应头中设置文件名里面包含空格,使下载文件时无法获取空格之后文件名 处理方式: 设置响应头时,使用双引号将文件名括起来 response.setHeader("content-disposition

    1K20

    初识Servlet

    功能 其主要功能在于:交互式地浏览修改数据生成动态Web内容。 Java Web 应用程序中所有的请求-响应都是由 Servlet 来完成。...注:最流行CGI 语言是 Perl Shell 脚本,但是也可以使用 C、C++ 以及Java 等语言来编写。...Servlet 生命周期 Servlet 生命周期可被定义为创建直到毁灭整个过程。以下是 Servlet 遵循过程: Servlet 通过调用 init () 方法进行初始化。...Servlet 之 Hello World 环境设置 就像任何其他 Java 程序,需要通过使用 Java 编译器 javac 编译 Servlet,在编译 Servlet 应用程序后,将它部署在配置环境中以便测试运行...ROOT 文件夹下程序使用http://localhost:8080/ 访问。 按照Servlet 规范,Web 程序有自己特定结构,部署时必须按照这样结构部署。

    81390

    解析Java中文乱码处理方法

    #p# 5、Solaris下Servlet编程中文问题及解决办法 在使用Java开发Internet上一个应用系统时,发现在Windows下调试完全正常Servlet,上传到Solaris服务器上...如果使用get方法,参数名称参数值经编码后附加在URL后,在Java中称作查询串(query string)。...在Servlet程序中,如果采用ServletRequest方法getParameter取得参数值,在Solaris环境下,对汉字却不能正确解码。因而无法正确检索数据库。...8、如何解決GWT(google web toolkit)中文问题 GWT中文乱码解决方法 (1)把你要显示中文“测试字符串”输入到一个文件,如:1.txt; (2)进入命令行,进入1.txt所在目录...这样就生成了另外一个文件2.txt; (3)2.txt内容如下:\u6d4b\u8bd5\u5b57\u7b26\u4e32; (4)然后用上面的编码,在gwt使用,就可以了。

    2.7K40

    Servlet 学习总结

    使用 Java 语言编写服务器端程序, 可以生成动态 WEB 页,Servlet 主要运行在服务器端,并由服务器调用执行, 是一种按照 Servlet 标 准来开发类。...对象有关方法,获取 Http 请求信息 HttpServlet 调用 HttpServletResponse 对象有关方法,生成响应数据 Servlet 容器把 HttpServlet 响应结果传给...当服务器端给字节恰好客户端使用编码方式一致时则文本正确显示,否则出现乱码。无论如何我们都应该准确掌握服务器客户端使用是那种编码格式,以确保数据正确显示。...,接下来看看我们 servlet 中怎么实现文件上传下载。...如果设置了download属性值,则使用设置值做为文件名。当用户打开浏览器点击链接时候就会直接下载文件

    96440

    Servlet再度学习

    虽然Servlet已经使用很多了,但是一直都仅局限在其使用操作上。 最近有空想对它进行一个相对全面的了解。 下面是博主整理一篇博文。...其主要功能在于交互式地浏览修改数据生成动态Web内容。...Servlet如何工作 用户浏览器向服务器发起一个请求通常会包含如下信息:http://hostname:port/contextpath/servletpath,hostnameport用来与服务器建立...当ServletServlet容器中移除时,也表明该Servlet生命周期结束了,这时Servletdestroy方法将被调用,做一些扫尾工作 Servlet 生命周期 Servlet 生命周期可被定义为创建直到毁灭整个过程...三、Servlet使用实例 实例使用前提:已经配置好了JDKTomcat 下面我们准备好如下东西: (1)Servlet:HelloWorld.java // 导入必需 java 库 import

    30210

    java中文乱码怎么解决_java中文乱码解决总结

    5、Solaris下Servlet编程中文问题及解决办法在使用Java开发Internet上一个应用系统时,发现在Windows下调试完全正常Servlet,上传到Solaris 服务器上,运行却出现故障...如果使用get方法,参数名称参数值经编码后附加在URL后,在Java中称作查询串(query string)。...(google web toolkit)中文問題 GWT 中文乱码解决方法 1.把你要显示中文“测试字符串”输入到一个文件,如:1.txt 2.进入命令行,进入1.txt所在目录,敲入以下命令:native2ascii.exe...这样就生成了另外一个文件2.txt。...3.2.txt内容如下:/u6d4b/u8bd5/u5b57/u7b26/u4e32 4.然后用上面的编码,在gwt使用,就可以了. 9、xmlHttp得到网页怎么是乱码?

    8.6K30

    【大牛经验】Java开源web框架汇总(152款)

    根据模板文件或配置文件生成静态Java类,并在代码中使用这些生成类,Barracuda需要用XMLC项目把所有的HTML或WML模板文件,静态编译成DOM结构Java类,作为页面组件。...脚本)后台Servlet(提交到后台request参数)均可以调用。...XML widget定义可以描述信息系统设计UML模型快速生成。这个框架让你只需关注信息系统设计,而formportal系统架构将自动生成。...91 Gwittir Gwittir项目为开发基于GWT应用程序提供一组代码生成器,基础框架,工具类一个MVC框架。 92 jWebApp jWebApp是一个基于ServletMVC框架。...属性更简易,支持父类反射 …… 151 MVC框架dingframework 使用java有多年了,一直以来使用java就是用来做web开发,学习java是servletjsp学起,刚开始感觉到serlvet

    5.6K50

    jbpm5.1介绍(12)

    另外,下载操作系统谷歌Web工具包最近期分布。 •解压目录中GWT分布,你要运行它。 GWT没有一个安装程序。你需要所有文件,运行使用GWT是位于中提取目录。...超时参数指定目录放置生成文件,最后一个参数是GWT模块名称。...提示:如果您包括GWT命令行工具,在你PATH环境变量,你不会有调用由他们指定完整路径。 GWT webAppCreator生成项目子目录和文件,你需要开始。...GWT编译器命令行调用Ant构建文件。...要终止起动应用程序,GWT菜单选择退出GWT 3。研究项目的组成部分 让我们来看看一些生成文件,看他们如何结合在一起,形成GWT项目。

    6.9K40

    如此详细 Servlet 教程,不来看看么?

    方法,每次访问均调用 执行 destory() 销毁方法,Web 工程停止时调用 1.4 如何通过 IDEA 快速创建 Servlet 程序 选中 src 目录或者要生成 Servlet 包,然后单击鼠标右键...点击生成之后,就会生成 Servlet 程序以及在 web.xml 中配置。 1.5 整个 Servlet继承体系 2....POST 请求 POST 请求和 GET 最大区别在于 请求头(即发送给服务器数据),POST 由 请求行 + 请求头 + 请求体 组成,其中请求行与请求头含义 GET 请求含义相同,而...POST GET 请求方式中文乱码问题 当以 POST 或 GET 方式请求时,遇到中文可能会出现乱码,对应解决方法如下: POST 方式:直接将请求体字符集设置为 UTF-8 即可 GET...6.2 两个输出流 输出流分为 字节流字符流,两者对应方法功能如下表所示,当我们使用时,只能同时使用其中之一 。

    42830

    JavaWeb

    ,不会有反应 GET请求主要用以获取数据 POST POST 方法向页面请求发送参数 使用POST方法时,查询字符串在POST信息中单独存在,HTTP请求一起发送到服务器 编码类型为:application...Servlet存在问题 每一次都要去实现Servlet接口 都要去做配置web.xml Servlet3.0开始可以直接使用注解形式来去使用Servlet 创建Servlet 在创建好...请求与响应,以后创建Servlet时,直接使用httpServlet HttpServlet方法 service:每一次发送请求时候就会调用,当写了service就会不再调用 get或post:...getOutputSteam不能同时调用 下载功能 需求:把服务器当中文件直接下载到电脑当中 下载文件 直接使用a标签来去下载 有些内容会浏览器自动解析 浏览器不能解析文件才会被下载 通过发送...集合Map 解决中文乱码问题 什么时候使用get方式与post方式 发送参数不需要写到数据库当中使用get 发送参数需要保存到数据库当中使用post form一般提交数据数据

    16510

    Servlet

    首先执行构造方法完成 Servlet 初始化 Servlet 初始化后调用 init () 方法 Servlet 调用 service() 方法来处理客户端请求 Servlet 销毁前调用 destroy...上传下载文件 首先将icon.png放入到resource文件夹中,接着我们编写一个Servlet用于处理文件下载: @WebServlet("/file") public class FileServlet...="icon.png">点我下载高清资源 下载文件搞定,那么如何上传一个文件呢?...; } } } 注意,必须添加@MultipartConfig注解来表示此Servlet用于处理文件上传请求。 现在再运行服务器,并将我们刚才下载文件又上传给服务端。...重定向属于2次请求,因此无法使用这种方式来传递数据,那么,如何在重定向之间传递数据呢?我们可以使用即将要介绍ServletContext对象。

    1.5K70

    tomcat配置使用

    静态web资源:固定不变数据文件(静态网页 HTML、CSS文件、文本、音频、视频) 静态web技术:HTML+CSS+JavaScript 动态web资源:一段服务程序,运行后,生成数据文件...1) Tomcat首页 2)Tomcat下载 3)下载包 4)安装:解压 5)tomcat安装目录介绍: bin:可以执行文件。...此接口定义了初始化 servlet 方法、为请求提供服务方法服务器移除 servlet 方法。...3.服务中取出 servlet,然后使用 destroy 方法销毁它,最后进行垃圾回收并终止它。 Servlet: 1、接受浏览器发送过来消息。 2、给浏览器返回消息。浏览器认识html。...7.3、使用Eclipse创建Servlet程序(重点*****) 1)通过Eclipse自动新建一个Servlet程序 2)修改Servlet访问url地址 3)勾选需要生成Servlet

    1.1K21

    JavaWeb核心篇(1)——HTTPTomcatServlet

    (Java中使用会话技术Cookie,Session来解决这个问题) HTTP请求数据格式 HTTP请求数据分为三部分: 请求行:请求数据第一行,其中GET表示请求方式(还有POST方法),/表示请求资源路径...来省略HTTP内容书写过程,直接将该网页上传至网络被其他人阅读 Tomcat下载 Tomcat下载流程: 下载:官网下载即可(示例Tomcat为Tomcat8) 安装:绿色版本,直接安装即可(推荐安装在无汉字无空格文件目录下...项目配置文件 test:测试目录 在文件打包之后会创建一个target打包包,即为部署成功JavaWeb项目包: 编译后Java字节码文件resources资源文件,放到WEB-INF下class...接口中必定存在service方法 生命周期概念: 生命周期:指一个对象被创建到被销毁全过程 Servlet生命周期: 加载实例化: 默认情况下,当Servlet第一次被访问时,由容器创建Servlet...对象 初始化: 在Servlet实例化之后,容器将调用Servletinit()方法初始化这个对象,完成一些如加载配置文件,创建连接等初始化工作,该方法只调用一次!

    62710

    Servlet基础知识与新手常遇到错及解决方法(01)

    ###什么是Servlet Servlet是用于扩展web服务软件业务功能得组件,每一种业务请求都需要对应一个单独Servlet ###如何在eclipse中关联Tomcat doc.canglaoshi.org...###创建web工程 创建maven工程 02servlet_1_1 把jar改war 改错: 在最长文件名上面右键点击最长(在src/main/webapp下面生成了web.xml配置文件) 让工程...找到处理该请求Servlet完整类名,得到完整类名后Tomcat通过反射技术将该对象实例化,然后调用对象service方法,从而导致程序员写在Servlet里面的代码执行 ###如果只是修改了代码没有创建新.../post ###请求方式getpost get: 请求参数放在请求地址后面,请求参数大小受限 只能传递几k数据, 由于参数用户可见 不能传递敏感信息(密码) post: 请求参数放在请求体里面,...没有大小限制通常上传文件使用,参数内容用户不可见 敏感数据通过post请求 ###获取传递到服务器参数 String info = request.getParameter(“info”); #

    71720
    领券