<servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>uploadProcessorServlet</servlet-name> <servlet-class>upload.UploadProcessorServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>uploadProcessorServlet</servlet-name> <url-pattern>/upload</url-pattern> </servlet-mapping> 我没用struts ajax 提交数据到Servlet 您觉得那里有问题了么??
我问C#问题 不一会就有回答的
java 问半天 没有人
js 没问题
Servlet 没进去 全路径 我改成<%=basePath%>uploadimg 也不好使为啥呀 大神!!!!! 哭了
!!!!!!!后台怎么没反应呢!!!!!!!
麻烦您看一下
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { System.out.println("正常进入");
request.setCharacterEncoding("utf-8"); // 设置编码
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
// 获得磁盘文件条目工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
// 如果没以下两行设置的话,上传大的文件会占用很多内存,
// 设置暂时存放的存储室 ,这个存储室,可以和最终存储文件的目录不同
/**
* 原理 它是先存到 暂时存储室,然后在真正写到 对应目录的硬盘上, 按理来说 当上传一个文件时,其实是上传了两份,第一个是以 .tmp
* 格式的 然后再将其真正写到 对应目录的硬盘上
*/
factory.setRepository(new File(TEMP_FOLDER));
// 设置 缓存的大小,当上传文件的容量超过该缓存时,直接放到 暂时存储室
factory.setSizeThreshold(1024 * 1024); // 高水平的API文件上传处理
ServletFileUpload upload = new ServletFileUpload(factory);
try {
// 提交上来的信息都在这个list里面
// 这意味着可以上传多个文件
// 请自行组织代码
List<FileItem> list = upload.parseRequest(request);
// 获取上传的文件
FileItem item = getUploadFileItem(list);
// 获取文件名
String filename = getUploadFileName(item); System.out.println("存放目录:" + PATH_FOLDER);
System.out.println("文件名:" + filename); // 真正写到磁盘上
item.write(new File(PATH_FOLDER, filename)); // 第三方提供的
// 输出信息,前端页面获取,这里用的json格式
PrintWriter writer = response.getWriter();
writer.print("{");
writer.print("msg:\"文件大小:"+item.getSize()+",文件名:"+filename+"\"");
writer.print("}");
writer.close();
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} }
您刚才 测试 ajax 是好使得吗
<servlet-name> </servlet-name>
<servlet-class> </servlet-class>
</servlet>
楼主要认真学习servlet连web配置文件都少了这些当然找不到了,
你这些设置断点肯定也进不去的
还要一点就是你alert没反应,你可以清下缓存的!这个没输出就表示你没有调用到这个方法,也不会有ajax提交了!
我现在怀疑 我引用的两个js文件有问题
ajaxfileupload.js
jquery.js
谢谢 但是依然不好用
我觉得有点奇怪 我从头冲弄了一遍 没感觉差哪
你的ajax是post请求啊。但你的方法就应该为doPost方式的啊。。改了也不行的话。。你用doPost然后jquery版本换换
$.ajaxFileUpload方法根本就没执行
大哥我要疯了
<servlet-name>uploadProcessorServlet</servlet-name>
<url-pattern>/upload</url-pattern>
</servlet-mapping> 你web.xml只配了这个??那个action路径呢?
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>uploadProcessorServlet</servlet-name>
<servlet-class>upload.UploadProcessorServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>uploadProcessorServlet</servlet-name>
<url-pattern>/upload</url-pattern>
</servlet-mapping> 我没用struts ajax 提交数据到Servlet
您觉得那里有问题了么??
我直接访问 servlet 正常进入 上传图片的路径也是正常的
我现在怀疑 我的ajaxfileupload.js文件 是不是有问题
上传的 方法根本没用上