Java 帮助使用Spring创建图像servlet
我正在创建一个JSF应用程序,我在数据库中有一堆图像(化身)作为blob存储。我正在尝试创建一个servlet,这样我就可以调用一个url,比如“/imageServlet?123,它将调用我的servlet,并将123作为id传递,等等,然后输出流 我对Spring非常陌生,但我读了一些书,看起来我需要使用MVC,但我不知道类和方法声明应该是什么样子。我需要使用@Controller注释吗?我真的需要一个像样的示例,这样我就可以理解它,知道我的代码应该放在哪里 目前我的类是这样声明的Java 帮助使用Spring创建图像servlet,java,spring,jsf,spring-mvc,Java,Spring,Jsf,Spring Mvc,我正在创建一个JSF应用程序,我在数据库中有一堆图像(化身)作为blob存储。我正在尝试创建一个servlet,这样我就可以调用一个url,比如“/imageServlet?123,它将调用我的servlet,并将123作为id传递,等等,然后输出流 我对Spring非常陌生,但我读了一些书,看起来我需要使用MVC,但我不知道类和方法声明应该是什么样子。我需要使用@Controller注释吗?我真的需要一个像样的示例,这样我就可以理解它,知道我的代码应该放在哪里 目前我的类是这样声明的 publ
public class ImageServlet extends HttpServlet {
...
@Override
protected void doGet(HttpServlet request, HttpServletResponse respose) {
...
}
}
我假设这是错误的,但我找不到任何在Spring中如何实现这一点的示例。请提供一些指导。谢谢。如果您不需要访问Spring上下文,您可以安全地拥有一个像您展示的servlet。您只需使用
request.getParameter(“id”)
(url类型为/imageServlet?id=123
)
但是,如果您需要访问SpringBean,以便获得与传递的id相对应的用户,那么您可以使用如下方法拥有一个@Controller
:
@RequestMapping("/image/{id}")
@ResponseBody
public byte[] getImage(@PathVariable int id) {
// load the image into a byte array and return it
}
如果您不需要访问spring上下文,您可以安全地拥有一个类似于您展示的servlet。您只需使用
request.getParameter(“id”)
(url类型为/imageServlet?id=123
)
但是,如果您需要访问SpringBean,以便获得与传递的id相对应的用户,那么您可以使用如下方法拥有一个@Controller
:
@RequestMapping("/image/{id}")
@ResponseBody
public byte[] getImage(@PathVariable int id) {
// load the image into a byte array and return it
}
首先是这个问题:你到底需要Spring在servlet中做什么?我不知道,我真的不知道做这件事需要什么,我只是读到有人在某处使用Spring,我想我也需要。Bozho已经讨论过了。试着不要把事情过于复杂化。如果你不需要Spring管理的bean,那就不要“别使劲儿:)我不是想用很难的方法来做,我只是想用正确的方法来做。如果spring不是正确的方法,那么我就误解了。谢谢你的帮助。首先这个问题:你到底需要spring在servlet中做什么?我不知道,我真的不知道需要做什么,我只是读到有人使用spring对于这个问题,我想我也需要这样做。Bozho已经涵盖了它。尽量不要把事情过于复杂化。如果你不需要spring管理的bean,那么就不要尝试艰难的方式:)我不是在尝试艰难的方式,我只是在尝试正确的方式。如果spring不是正确的方式,那么我误解了。谢谢你谢谢你的帮助。