`
apollo_r
  • 浏览: 6512 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

struts上传的跳转问题

阅读更多

在站内搜索了一下,没有找到类似的问题
1。页面只有上传的的form,包括:file框,text框,上传按钮。有时候能上传,有时不能上传成功,不成功提示http 500 dispatch[/photoManage]...错误,但是同样一个ActionForward为什么有时可以,有时不可以。
2。struts自带的token会不会影响上传呢?
3。是不是代码有问题,各位同胞们帮我看下,代码如下:

 

java 代码
  1. // 上传一张照片   
  2. //class photoManage   
  3. public ActionForward sendOnePhoto(ActionMapping mapping, ActionForm form,   
  4.     HttpServletRequest request, HttpServletResponse response) {   
  5.   
  6.     PhotoManageForm photoForm = (PhotoManageForm) form;   
  7.     HttpSession session = request.getSession();   
  8.     session.removeAttribute("photoname");   
  9.     String ep_no = (String) session.getAttribute("ep_no");   
  10.   
  11.     String photo_name = photoForm.getPhoto_name();// 图片别名   
  12.     if (photo_name == null && "".equals(photo_name)) {   
  13.                          request.setAttribute("photoname""isEmpty");   
  14.         return new ActionForward("/searchPhoto.do?flag=manage");   
  15.     }   
  16.     FormFile file = photoForm.getFile();   
  17.     String filename = file.getFileName();// 图片的源名+扩展名   
  18.   
  19.     session.setAttribute("photoname", photo_name);   
  20.     int filesize = file.getFileSize();   
  21.     String firstname = "";   
  22.   
  23.     if (isTokenValid(request, true)) {   
  24.         try {   
  25.             PhotoNameSearch namesearch = new PhotoNameSearch();   
  26.             firstname = namesearch.String2Alpha(photo_name).substring(01);// 取图片别名首拼音   
  27.             System.out.println("首拼音是:" + firstname);   
  28.         } catch (Exception ex) {   
  29.             ex.printStackTrace();   
  30.         }   
  31.         // 用作文件名的处理   
  32.         Date date = new Date();   
  33.         String datename = date.toString();   
  34.         datename = datename.replaceAll(" """);   
  35.         datename = datename.replaceAll(":""");   
  36.         String sql = "";// SQL语句   
  37.   
  38.         if (filename != null && !filename.equals("")) {   
  39.             int index = filename.lastIndexOf(".");// 得到.的位置   
  40.             String sn = filename.substring(index, filename.length()); // 求得扩展名   
  41.   
  42.             if (!sn.equalsIgnoreCase(".gif")   
  43.                 && !sn.equalsIgnoreCase(".jpg")   
  44.                 && !sn.equalsIgnoreCase(".png")) {   
  45.                 return new ActionForward("/searchPhoto.do?selepno=" + ep_no+ "&error=format");   
  46.             }   
  47.             if (filesize > 1024 * 1024 * 5) {   
  48.                 return new ActionForward("/searchPhoto.do?selepno=" + ep_no+ "&error=size");   
  49.             }   
  50.   
  51.             Calendar c = Calendar.getInstance();   
  52.             SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");   
  53.             String datetime = f.format(c.getTime());   
  54.             System.out.println("====" + datetime);   
  55.   
  56.             String savepath = request.getRealPath("/") + "/upload/photo/"+ datename + sn;// 上传文件写到相应路径目录下   
  57.             sql = "insert into photo(ep_no,photo_name,photo_route,upload_date,firstname) values('"  
  58.             + StrTrans.transGbk(ep_no)   
  59.             + "','"  
  60.             + StrTrans.transGbk(photo_name)   
  61.             + "','"  
  62.             + StrTrans.transGbk(datename + sn)   
  63.             + "','"  
  64.             + datetime   
  65.             + "','" + firstname + "')";   
  66.   
  67.             CommonDataBean commonDataBean = null;   
  68.             InputStream in = null;   
  69.             FileOutputStream out = null;   
  70.   
  71.             try {   
  72.                 in = file.getInputStream();   
  73.                 out = new FileOutputStream(savepath);   
  74.                 commonDataBean = new CommonDataBean();   
  75.                 byte[] b = new byte[30000000];   
  76.                 int i = 0;   
  77.                 while ((i = in.read(b)) != -1) {   
  78.                     out.write(b, 0, i);   
  79.                 }   
  80.   
  81.                 out.close();   
  82.                 in.close();   
  83.                     commonDataBean.executeUpdate(sql);   
  84.                 // 更新上传时间   
  85.                 photoHandle ph = new photoHandle();   
  86.                 ph.updatetime(ep_no);   
  87.             } catch (Exception e) {   
  88.                 System.out.println(e.getMessage());   
  89.                 e.printStackTrace();   
  90.                 System.out.println("something wrong!");   
  91.             } finally {   
  92.                                  commonDataBean.closeConn();   
  93.             }   
  94.         }   
  95.         resetToken(request);   
  96.     } else {   
  97.         saveToken(request);   
  98.     }   
  99.     return new ActionForward("/searchPhoto.do?flag=manage");   
  100. }  
分享到:
评论
2 楼 apollo_r 2007-01-15  
esprit 写道
其他的没仔细看下去
if (photo_name == null && "".equals(photo_name)) {    
                         request.setAttribute("photoname", "isEmpty");    
        return new ActionForward("/searchPhoto.do?flag=manage");    
    }    

这段有问题,不是&&,而是||,要仔细啊,呵呵
哦,谢谢,
但这个地方应该不是上传的问题的症结啊
1 楼 esprit 2007-01-15  
其他的没仔细看下去
if (photo_name == null && "".equals(photo_name)) {    
                         request.setAttribute("photoname", "isEmpty");    
        return new ActionForward("/searchPhoto.do?flag=manage");    
    }    

这段有问题,不是&&,而是||,要仔细啊,呵呵

相关推荐

    struts上传多文件

    最后,当所有文件成功上传后,你可以跳转到一个结果页面(如`success.jsp`),显示上传成功的消息。如果在上传过程中出现错误,可以返回输入页面(`upload.jsp`),让用户重新选择文件。 总之,通过Struts2和...

    Struts2文件上传下载和表单重复提交问题

    文件上传功能在Struts2中通过`Struts2`提供的插件来实现,主要依赖于`Apache Commons FileUpload`库。首先,要在`struts.xml`配置文件中启用文件上传支持,设置`struts.multipart.parser`为`jakarta`或`native2...

    jsp+struts文件上传

    在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)和Struts框架实现文件上传功能。这是一个在Web开发中常见的需求,特别是在处理用户提交的数据时。Struts是一个基于MVC(Model-View-Controller)设计模式的...

    struts2上传下载实例

    // 不返回任何结果,防止Struts2跳转页面 } ``` 在struts.xml中,配置一个使用`StreamResult`的结果: ```xml <param name="contentType">application/octet-stream <param name="inputName">inputStream ...

    struts2.1.3上传文件

    在"struts2.1.3上传文件"这个主题中,我们将深入探讨Struts2如何实现文件上传功能,以及与之相关的jsp(JavaServer Pages)技术。 文件上传是Web应用程序中常见的需求,例如用户可能需要上传照片、文档或其他类型的...

    struts上传.rar

    在本压缩包"struts上传.rar"中,重点涉及的是Struts框架中的文件上传功能。文件上传是Web应用中常见的功能,允许用户上传文件到服务器,例如图片、文档等。在Struts中实现文件上传,我们需要理解以下几个关键知识点...

    struts2上传文件源代码

    6. **错误处理**:文件上传可能会出现各种问题,例如文件过大、文件类型不合法等。因此,我们需要在Action中处理这些异常情况,返回相应的错误信息给用户。 7. **结果映射**:根据Action的执行结果,Struts2将决定...

    struts2文件上传例子.rar

    Struts2是一个强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发中。在Web应用中,文件上传...在实际开发中,我们还需要考虑到安全性问题,如防止文件覆盖、非法文件上传等,确保系统的稳定性和安全性。

    struts2 上传图片显示

    确保在Struts2配置中为这个Action类的相应结果添加一个Action Mapping,以便正确跳转到显示图片的JSP页面。 安全方面,上传图片时需要注意防止恶意文件注入,例如限制上传文件的类型和大小。此外,确保文件名的安全...

    Struts2之struts2文件上传详解案例struts011

    在处理完文件后,返回相应的结果名称(如"success"或"input"),Struts2会根据结果名称跳转到相应的JSP页面。 在成功页面(如success.jsp)中,可以显示文件上传的结果,比如文件名、大小等信息。 在处理文件上传...

    struts上传下载源代码

    以下是对Struts上传下载源代码的详细解释: 1. **struts-config.xml配置**: 在Struts配置文件`struts-config.xml`中,可以看到针对上传、下载、列表和删除操作的四个`<action>`元素。这些元素定义了不同操作的...

    struts1.0的上传代码

    在这个"struts1.0的上传代码"实例中,我们将深入探讨如何在Struts 1.0中实现文件上传功能。 文件上传在Web应用中很常见,例如用户可以上传个人头像或提交文档。在Struts 1.0中,这个过程涉及以下几个关键部分: 1....

    简单易懂的struts2文件上传

    一旦文件上传成功,Struts2会根据配置的`success`结果跳转到`/uploadSuccess.jsp`页面,你可以在这里显示上传成功的消息或提供进一步的操作选项。 7. **错误处理** 在实际应用中,你还需要考虑文件上传可能遇到的...

    Struts2上传图片存数据库

    在本案例中,我们探讨的是如何利用Struts2框架处理文件上传,并将上传的图片以BLOB(Binary Large Object)类型存储在数据库中,同时提供下载功能。Hibernate则是一个对象关系映射(ORM)框架,它简化了数据库操作,...

    视频上传管理后台系统Struts2

    在视频上传管理中,安全问题尤为重要。Struts2提供了一些内置的安全措施,如防止XSS攻击和CSRF防护,但开发者还需要自定义策略,确保视频内容和用户数据的安全。 综上所述,"视频上传管理后台系统Struts2"项目利用...

    Struts2框架实现文件上传

    文件上传成功后,Action应返回一个结果,以便Struts2能够正确跳转到下一个视图,显示上传结果。 以上就是使用Struts2框架实现文件上传的基本步骤和涉及的知识点。在实际项目中,可能还需要考虑并发处理、性能优化...

    Struts2文件上传程序示例

    在上述配置中,我们限制了上传文件的类型和大小,并指定了成功和失败后的跳转页面。 在用户界面,我们通常会显示上传进度、错误信息或上传结果。在`success.jsp`和`upload.jsp`页面中,我们可以根据Action返回的...

    Struts2+Hibernate实现文件上传

    在实际操作中,文件上传可能会遇到一些常见的问题,例如文件大小限制、文件类型检查、防止重复文件名等。这些可以通过在Action类中添加额外的验证逻辑来解决。例如,可以使用Struts2的拦截器或者自定义Validator来...

    struts上传图片原代码

    在这个"struts上传图片原代码"中,我们可以看到Struts框架如何处理用户通过网页上传图片的流程。以下是关于这个主题的详细知识点: 1. **ActionForm类**: - ActionForm是Struts框架中用于在控制器和视图之间传递...

    Struts2 JQuery同步上传图片

    然后,将返回一个表示成功的字符串(如“success”),以便Struts2框架知道如何跳转到对应的JSP页面(在本例中是`succ.jsp`)。 为了实现同步上传,你需要在JavaScript(通常是jQuery)中处理表单提交事件。使用...

Global site tag (gtag.js) - Google Analytics