Questions tagged «servlet-3.0»

2
将上传文件保存在Servlet应用程序中的推荐方法
我在这里读到,无论如何该文件都不应该保存在服务器中,因为它不可移植,具有事务性并且需要外部参数。但是,鉴于我需要一个适用于tomcat(7)的tmp解决方案,并且可以(相对)控制我想知道的服务器计算机: 保存文件的最佳位置是什么?我应该将其保存在/WEB-INF/uploads(建议此处使用)还是下面$CATALINA_BASE(请参见此处)或...的某个位置?JavaEE 6教程从用户(:wtf :) 获取路径。注意:该文件不应以任何方式下载。 是否应按此处详细说明设置配置参数?我会喜欢一些代码(我希望给它一个相对路径-因此它至少是Tomcat可移植的)- Part.write()看起来很有希望-但显然需要一个绝对路径 我想对这种方法相对于数据库/ JCR存储库的缺点进行阐述。 不幸的是 ,@ BalusC 的FileServlet专注于下载文件,而他对上传文件的回答却忽略了保存文件的位置。 易于转换为使用DB或JCR实现的解决方案(如jackrabbit)将是可取的。

6
如何仅使用注释(不使用web.xml)设置JAX-RS Application?
是否可以仅使用注释来设置JAX-RS应用程序?(使用Servlet 3.0和JAX-RS Jersey 1.1.0) 我尝试了,没有运气。web.xml似乎需要使用一些。 配置A(正常运行,但具有web.xml配置) web.xml ... <servlet> <servlet-name>org.foo.rest.MyApplication</servlet-name> </servlet> <servlet-mapping> <servlet-name>org.foo.rest.MyApplication</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> ... 爪哇 @ApplicationPath("/") public class MyApplication extends Application { ... } 配置B(无效,引发异常) @ApplicationPath("/") @WebServlet("/*") // <-- public class MyApplication extends Application { ... } 后者似乎坚持认为Application将是Servlet的子类(该异常不会引起猜测) java.lang.ClassCastException: org.foo.rest.MyApplication cannot be cast to javax.servlet.Servlet 问题 为什么web.xml定义有效,但注释却无效?有什么不同? 有没有办法让它工作,例如有没有web.xml的JAX-RS应用程序?

6
@RequestBody和@RequestParam有什么区别?
我遍历了Spring文档以了解@RequestBody,他们给出了以下解释: 所述@RequestBody方法参数注释指示方法参数应绑定到HTTP请求正文的值。例如: @RequestMapping(value = "/something", method = RequestMethod.PUT) public void handle(@RequestBody String body, Writer writer) throws IOException { writer.write(body); } 您可以通过使用将请求主体转换为方法参数HttpMessageConverter。HttpMessageConverter负责从HTTP请求消息转换为对象,并从对象转换为HTTP响应主体。 DispatcherServlet支持使用DefaultAnnotationHandlerMapping和进行基于注释的处理AnnotationMethodHandlerAdapter。在Spring 3.0中,AnnotationMethodHandlerAdapter扩展为支持,@RequestBody并且HttpMessageConverter默认情况下注册了以下: ... 但我的困惑是他们在文档中写的句子是 @RequestBody方法参数注释指示方法参数应绑定到HTTP请求正文的值。 那是什么意思?谁能给我一个例子吗? @RequestParamspring doc中的定义是 指示方法参数应绑定到Web请求参数的注释。在Servlet和Portlet环境中支持带注释的处理程序方法。 我对他们感到困惑。请帮我举个例子,说明它们之间的区别。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.