我有一个适用于 servlet 的上传例程。现在我试图把这个例程放在一个 jsf 托管 bean 中,如下所示:
public void uploadFile() throws IOException, ServletException{
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
Part filePart = request.getPart("item");
String filename = getFilename(filePart);
InputStream filecontent = filePart.getInputStream();
//persist the data here
}
当尝试在服务器上运行它时,当然会出现错误消息:“PWC4016:Request.getPart 在没有多部分配置的情况下被调用。要么将@MultipartConfig 添加到 servlet,要么将 multipart-config 元素添加到 web.xml”
但是我不知道在哪里放置这个注释,我也没有我的托管 bean 的 jsf 生成的 servlet 的名称,所以我也不能把它放到 web.xml 中。将此例程放入托管 bean 通常是一个坏主意,还是应该坚持使用 servlet 变体?