Tag: servlets

下载的txt文件变得萎缩

我正在尝试用我的servlet编写一个txt文件并将其发送到我的桌面应用程序。 桌面应用程序将文件保存在本地磁盘上。 下载大二进制文件没有问题,但是txt文件是小错过最终字符。 例如,servlet发送长度为523KB的txt文件,但是当我将它保存在桌面应用程序上时,文件长度是496KB? 这是servlet代码: final int BUFFER_SIZE = 4096; FileInputStream in = new FileInputStream(file); OutputStream out = response.getOutputStream(); byte buffer[] = new byte[BUFFER_SIZE]; for (int nread = 0; (nread = in.read(buffer)) != -1;) { out.write(buffer, 0, nread); } out.flush(); out.close(); in.close(); 这是桌面应用程序代码(我使用HttpClient 4): response = httpclient.execute(httppost); resEntity = response.getEntity(); InputStream in = resEntity.getContent(); in […]

如何以指定的时间间隔定期自动调用servlet

必须定期调用servlet。(如andorid中的服务概念) 这该怎么做。 使用计时器还是其他解决方案? 提前致谢。

具有自签名证书的Java SSL连接,无需将完整密钥库复制到客户端

我正在设置一个Java许可servlet以及一个客户端应用程序,该应用程序将发布新许可证请求并validation该服务器上的现有许可证。 servlet在Tomcat中运行。 我已经配置了Tomcat,以便它只允许通过https连接到servlet,这样就可以了。 我使用’keytool -genkey -alias www.mysite.com -keyalg RSA -keystore license.store’创建了一个自签名证书,该证书创建了一个文件license.store并将tomcat指向此keystoreFile,密码为asdf1234 。 当我尝试通过Java中的https从客户端连接到servlet时,我收到熟悉的PKIX path building failed因为证书不在信任库中。 我尝试使用此建议修复此问题,从而生成以下代码: private SSLSocketFactory getSSLFactory() throws Exception { KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); InputStream is = this.getClass().getResourceAsStream(“license.store”); if(is ==null) { return null; } keyStore.load(is, “asdf1234”.toCharArray()); is.close(); TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); tmf.init(keyStore); SSLContext ctx = SSLContext.getInstance(“TLS”); ctx.init(null, tmf.getTrustManagers(), null); return ctx.getSocketFactory(); } […]

javax.servlet.jsp-api的目的是什么?

我正在学习如何制作一个servlet 3.1兼容的webapp,它将在JBoss wildfly 10上运行。我使用maven作为依赖项,我不确定以下依赖项是做什么的,以及它们是否包含在/不包含在servlet中容器: javax.servlet javax.servlet-api ${servlet.version} provided javax.servlet.jsp javax.servlet.jsp-api 2.3.1 jstl jstl ${jstl.version} 我已经做了一些谷歌搜索,希望validation或完成以下信息: servlet api由servlet容器提供,因此我可以在Maven中添加provided 。 但是,为什么我需要包含这个jar子? 删除后哪些类或文件会出错? 我不确定javax.servlet.jsp-api是做什么的。 如果我不包含它,我的hello world示例似乎运行得很好。 这是做什么的? 我是否需要添加provided ? 任何servlet容器都不提供JSTL,因此必须明确添加它。 这个jar确保在我的jsp中正确处理和其他基本标记。

如何使用java servlet从mysql数据库中检索图像并在HTML img标签中显示?

如何使用java servlet从mysql数据库中检索图像并在HTML img标签中显示? 并且ima标签应该放在表定义中吗?

我试图从JAVA中的IP地址获取位置信息,但我得到一个java.net.SocketException:连接重置错误

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 javaQuery.importClass.javaQueryBundle; import javaQuery.j2ee.GeoLocation; /** * Servlet implementation class IP */ public class IP extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public IP() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest […]

Servletfilter – 来自servlet的转发请求是否会转到servletfilter?

如果任何J2EE应用程序直接命中servlet,然后servlet将相同的请求转发到某个.jsp页面。 request.getRequestDispatcher(“Login.jsp”).forward(request, response); 我有一个servletfilter,下面是url-pattern some_filter /* 那么,转发的请求是否也会过滤。 在我的情况下它不会来,这是一个预期的行为。 只想了解这一点。

Google协议缓冲区和servlet

我想知道如何使用谷歌协议缓冲区接受请求并将响应发送回客户端? 我正在考虑编写一个将接受请求的servlet。 以下思路是实现此目的的正确方法:1。有一个.proto文件,它是传入请求的消息定义。 2.编写一个接受此请求的servlet,执行各种任务,如查询数据库,然后发送响应。 此响应是否需要单独的.proto消息定义以及构成响应的所有字段? 3.客户端是否只调用我的servlet的doGet()方法并传递请求,然后它应该作为protobuff对象返回响应? 任何建议或想法将非常感谢。

通过webdav在基于Java的Web应用程序中编辑文件(读取/编辑/保存)

即时搜索信息如何在基于servlet的java Web应用程序中实现服务,该应用程序可以通过webdav处理一些常见文件类型的在线编辑(读取/编辑/保存),例如办公套件的程序。 我们有一个tomcat 7运行并使用webdav已经用于在客户端计算机上安装文件夹(由同事实现),该工作正常。 现在我有了研究实现这种在线编辑function的方法的请求(例如在我们的webapp中打开一个.doc文件,用word编辑文件并自动保存在我们的webapp中)并且找不到很多信息/ howtos这个话题。 从我到目前为止我可以发现,我可以看到使用这个webdavfunction需要设置一些响应头值,并且需要实现自己的servlet。 但我仍然不知道从哪里开始,如果我是对的…有谁知道任何好的资源吗? (文档,简单的webapp示例,……等等)?

Servlet真实路径

我在目录博客下运行webapp。 (例如www.example.com/blog)。 我想获得一个请求的真实文件系统路径。 例如www.example.com/blog/test-file.html – > /usr/share/tomcat7/webapps/blog/test-file.html 我尝试了以下方法: public String realPath(HttpServletRequest request, ServletContext servletContext){ String requestURI = request.getRequestURI(); String realPath = servletContext.getRealPath(requestURI); return realPath; } 然而这又回来了 /usr/share/tomcat7/webapps/blog/blog/test-file.html 这样做的正确方法是什么?