草庐IT

Servlet和springMVC

全部标签

java - 远程 servlet 之间的通信

我有两个Web应用程序App1和App2。我想从App1中的servlet调用App2中的servlet。我正在为此使用URLConnection。我也可以将参数传递给App2中的servlet,并且还可以从servlet接收字符串形式的响应。但是我想从App2中的servlet发送java对象并在App1的servlet中接收它们。如何实现? 最佳答案 视情况而定。如果这些web应用程序在同一个servlet容器中在物理上相同的web服务器上运行,则只需将其设置为请求属性并将请求转发到其他上下文:request.setAttrib

java - 有通用版本的 servlet-api 吗?

我知道每个servlet容器(例如Tomcat、Glassfish等)都带有servlet-api的实现。我正在寻找的是一个通用(与容器无关)版本的servlet-api来编译我的应用程序代码。我还希望在开发期间在我的IDE中使用源代码或Javadoc。有没有这样版本的servlet-api.jar? 最佳答案 对于纯编译,你选择哪一个并不重要。您可以从Tomcat的/lib目录中提取它,或者从someMavenrepo中获取它。.请注意您选择了与目标运行时相同的正确版本,2.3、2.4、2.5或3.0,并且您永远不会将其包含在we

java - 在不使用 web.xml 中的上下文参数标记的情况下在 servlet 的 init() 中加载属性文件

这个问题在这里已经有了答案:Wheretoplaceandhowtoreadconfigurationresourcefilesinservletbasedapplication?(6个答案)关闭6年前。我有一个在init()上读取.properties文件的servlet。如果我在我的web.xml中设置了上下文参数,我的代码(不是下面的代码)就可以工作,但我读到上下文参数是全局可访问的,我不希望这样,因为这个servlet只是一个更大的servlet的一部分Web应用程序。我只想能够使用init-param标签来做到这一点我试过这个:publicvoidinit(ServletCo

java - 多个 java servlet 的 web.xml 中的通用初始化参数?

我目前的理解是,web.xml中的init-params必须放在servlet变量的主体中,如下所示:MyServletMyServletdebugdebugtrue这很好用,但是如果我将init-param带到servlet主体之外,那么当我调用getInitParam()时它不再识别它只是想知道这是否可能,因为我有3个servlet,我想共享通用的初始化参数 最佳答案 不,您不能使用servletinit-param来实现。如果你想要跨servlet的通用初始化参数,你应该使用上下文参数。您可以这样做:debugdebugtru

java - 带有多个(两个)通配符的 Servlet 映射,通配符由斜杠分隔

我正在尝试映射一个匹配两者的servlet模式/server/abcDef/1432124/adfadfasdfa和/server/abcDef/abcd/12345“1432124”和“abcd”的值不是固定的,可以是多个值。所以基本上我需要与/abcDef/*/*匹配——只有abcDef是固定的。我有办法映射这个吗?我真的在寻找类似以下的东西:abcDefServlet/server/abcDef/*/* 最佳答案 根据ServletSpecification,以“/*”结尾的URL模式会将所有请求匹配到前面的路径。因此,按照您

java - Spring boot 在 servlet 上下文之外获取应用程序基础 url

设置如下-我有一个定时任务会发送验证电子邮件,以便用户:@Scheduled(cron="00-59/1****")publicvoidsendVerificationEmails(){//...}在这些电子邮件中,我需要包含一个指向同一个Web应用程序的链接。但是,我找不到任何关于如何在没有servlet上下文的情况下获取应用程序基本url的引用。奖金如果我可以在这里设置thymeleaf模板解析器来处理这些链接,这也会有所帮助,但为此我需要一个WebContext,它需要一个HttpServletRequest的实例。 最佳答案

java - 在 Servlet 中限制下载文件带宽/速度

我们得到了在集群模式下工作的高负载java应用程序。我需要为我们的客户添加下载和上传文件的功能。对于存储文件,我将使用gridFs,不确定,这是最好的选择,但是mongo可以集群并且mongo可以在diff节点之间复制数据。这正是我所需要的。不同的用户群应该限制不同的带宽。根据一些业务规则,我应该限制某些用户的下载速度。我看到很少solutions为此它们中的大多数以相同的方式工作。读取字节串hibernate线程重复Mongo只需为我提供InputStrem,我就可以从该流中读取并写入servlet输出流。我不确定这是有效的方法。另外我担心,用户可以在下载过程中创建大量并发线程,这会

java - 如何模拟 javax.servlet.ServletInputStream

我正在创建一些单元测试并尝试模拟一些调用。这是我的工作代码中的内容:StringsoapRequest=(SimUtil.readInputStream(request.getInputStream())).toString();if(soapRequest.equals("MyString")){...}SimUtil.readInputSteam看起来像这样:StringBuffersb=newStringBuffer();BufferedReaderreader=null;try{reader=newBufferedReader(newInputStreamReader(inpu

java - servlet 容器如何找到 WebApplicationInitializer 实现

这个问题在这里已经有了答案:HowdoesTomcatexactlybootstraptheappwithoutweb.xml?(2个答案)关闭7年前。SpringWebApplicationInitializer提供了一种编程方式来在Servlet3.0+兼容的servlet容器中配置SpringDispatcherServlet和ContextLoaderListener。但是它是如何工作的呢?servlet容器如何找到WebApplicationInitializer实现,是否真的从类路径加载所有类?

java - 为什么在 Eclipse 中创建 Servlet 会破坏我的 web.xml?

有点懒惰,我很高兴地发现我可以通过New->Servlet创建一个新的servlet源代码,而不是去New->Class然后将类编辑成servlet。但是,我发现每次我在Eclipse中创建一个新的servlet时,Eclipse都会修改我的web.xml。具体来说,它将顶部元素修改为:(我的换行符。)这看起来不一定是坏事,但是它通过在名称前面放置“javaee:”来修改各种子元素,以指示这些元素属于该命名空间。比如,它变了ShowLifecycles到ShowLifecycles然后eclipse提示它修改的所有元素,给我这样的符号:cvc-complex-type.2.4.a:In