我需要知道線程是否存在與下面的代碼有關的任何問題。我總是覺得只要不使用類級變量,線程就不是問題。線程安全的java小服務程序
public class UploadReferralImage extends HttpServlet
{
String CLASS_NAME = "UploadReferralImage";
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
// Not handling Get, service must be invoked via Post.
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String METHOD_NAME = "doPost";
LogHelper.debug(PACKAGE_NAME, CLASS_NAME, METHOD_NAME, "Made it to the servlet");
String reply = upload(request);
response.setHeader("Content-Type", "text/xml");
response.getWriter().write(reply);
response.getWriter().flush();
response.getWriter().close();
}
public String upload(HttpServletRequest request)
{
String METHOD_NAME = "upload";
LogHelper.debug(PACKAGE_NAME, CLASS_NAME, METHOD_NAME, "Inside upload");
String replyMsg = "Unable to call ImageUpload";
try
{
ObjectInputStream inputFromApplet = new ObjectInputStream(request.getInputStream());
FileBean fBean = (FileBean) inputFromApplet.readObject();
inputFromApplet.close();
LogHelper.debug(PACKAGE_NAME, CLASS_NAME, METHOD_NAME, fBean.getFileName());
replyMsg = doImageUpload(fBean);
}
catch (IOException e)
{
e.printStackTrace();
replyMsg = "Exception :" + e.toString();
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
replyMsg = "Exception :" + e.toString();
}
return replyMsg;
}
private String doImageUpload(FileBean fBean)
{
//Save the file and return the response
SaveCaseClientAgent saveCaseClientAgent = new SaveCaseClientAgent();
saveCaseClientAgent.save(fBean);
}
看起來很好。你有理由相信它不是? – skaffman 2009-07-28 15:18:17
我只是擔心上傳方法公開,不知道爲什麼我這樣做將不得不糾正它。但到目前爲止沒有問題。 – Keibosh 2009-07-28 15:28:40