有一个现成的jsp网站,弄了一个星期终于弄懂什么东西在那里什么东西在那里,但是对于某些错误还是无法解决,请各位朋友帮忙,紧急!!万分感激!!问题是:有一个.class文件,我把它反编后是个.java的文件,修改了里面一些,到现在要变会.class就不会了参考了很多办法,但是还是不行~~由于时间紧迫~~希望大哥大姐们帮个忙~~~实在是无能为力了~~代码如下:testUpload.classpackage com.souhom.struts.servlet;import com.jspsmart.upload.Files;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;
import com.souhom.struts.systemConfig;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.util.Calendar;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.PageContext;public class testUpload extends HttpServlet
{
public String doPost(HttpServletRequest req, HttpServletResponse resp, PageContext pageContent, String saveFolder, String type)
throws ServletException, IOException
{
PrintWriter out = resp.getWriter();
String filePath = ""; String filePath2 = "";
SmartUpload su = new SmartUpload();
String s = null;
try {
su.initialize(pageContent);
int count = 0;
try {
su.upload();
}
catch (SmartUploadException e)
{
e.printStackTrace();
} for (int i = 0; i < su.getFiles().getCount(); ++i) {
com.jspsmart.upload.File file = su.getFiles().getFile(i);
String fileExt = file.getFileExt();
long fileSize = file.getSize();
if (!(systemConfig.ext.contains(fileExt))) {
out.print("文件格式不对!允许上传格式为:" + systemConfig.ext + " <a href='javaScript:window.history.back();'>从新上传</a>");
filePath2 = null;
file = null;
break;
}
if (type.equals("pic")) {
if (fileSize > systemConfig.picSize) {
out.print("图片太大!文件必须小于:" + (systemConfig.picSize / 1024L) + "KB" + " <a href='javaScript:window.history.back();'>从新上传</a>");
filePath2 = null;
file = null;
break;
}
} else if ((type.equals("vido")) &&
(fileSize > systemConfig.videoSize)) {
out.print("视频太大!文件必须小于:" + (systemConfig.videoSize / 1024L) + "KB" + " <a href='javaScript:window.history.back();'>从新上传</a>");
filePath2 = null;
file = null;
break;
} if (file.isMissing()) continue; String year = String.valueOf(Calendar.getInstance().getTime().getYear());
String date = String.valueOf(Calendar.getInstance().getTime().getDate());
String month = String.valueOf(Calendar.getInstance().getTime().getMonth());
String hours = String.valueOf(Calendar.getInstance().getTime().getHours());
String minuts = String.valueOf(Calendar.getInstance().getTime().getMinutes());
String second = String.valueOf(Calendar.getInstance().getTime().getSeconds());
String tempString = year + "_" + month + "_" + date + "_" + hours + "_" + minuts + "_" + second; filePath = java.io.File.separator + saveFolder + java.io.File.separator + tempString + "." + file.getFileExt();
filePath2 = tempString + "." + file.getFileExt();
int tempCount = 0;
System.out.println(filePath);
try
{
file.saveAs(filePath, 1);
s = s + "保存了";
}
catch (SmartUploadException e) {
e.printStackTrace();
s = s + e.getLocalizedMessage();
s = s + "异常了";
s = s + e.getMessage();
}
++count;
} if (count != 0) break label761;
filePath2 = null;
label770: label761: out.print("请先点浏览选择您要上传的文件: <a href='javaScript:window.history.back();'>返回</a>");
}
catch (OutOfMemoryError me) {
filePath2 = null;
if (type.equals("pic")) {
out.print("对不起,您的文件文件太大,不允许上传,文件必须小于:" + (systemConfig.picSize / 1024L) + "KB <a href='javaScript:window.history.back();'>返回</a>"); break label770:
}
out.print("对不起,您的文件文件太大,不允许上传,文件必须小于:" + (systemConfig.videoSize / 1024L) + "KB <a href='javaScript:window.history.back();'>返回</a>");
}
finally {
su = null;
out = null;
}
System.gc();
return filePath2;
}
}
我现在想把限制上传资料格式的那一段条件代码删掉,然后再生成一个新的.class文件因为有些相机拍下来的图片用acdsee批量修改尺寸大小之后,上传时出现这个格式错误(图片只有几十K)万分感谢万分感谢!!!
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;
import com.souhom.struts.systemConfig;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.util.Calendar;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.PageContext;public class testUpload extends HttpServlet
{
public String doPost(HttpServletRequest req, HttpServletResponse resp, PageContext pageContent, String saveFolder, String type)
throws ServletException, IOException
{
PrintWriter out = resp.getWriter();
String filePath = ""; String filePath2 = "";
SmartUpload su = new SmartUpload();
String s = null;
try {
su.initialize(pageContent);
int count = 0;
try {
su.upload();
}
catch (SmartUploadException e)
{
e.printStackTrace();
} for (int i = 0; i < su.getFiles().getCount(); ++i) {
com.jspsmart.upload.File file = su.getFiles().getFile(i);
String fileExt = file.getFileExt();
long fileSize = file.getSize();
if (!(systemConfig.ext.contains(fileExt))) {
out.print("文件格式不对!允许上传格式为:" + systemConfig.ext + " <a href='javaScript:window.history.back();'>从新上传</a>");
filePath2 = null;
file = null;
break;
}
if (type.equals("pic")) {
if (fileSize > systemConfig.picSize) {
out.print("图片太大!文件必须小于:" + (systemConfig.picSize / 1024L) + "KB" + " <a href='javaScript:window.history.back();'>从新上传</a>");
filePath2 = null;
file = null;
break;
}
} else if ((type.equals("vido")) &&
(fileSize > systemConfig.videoSize)) {
out.print("视频太大!文件必须小于:" + (systemConfig.videoSize / 1024L) + "KB" + " <a href='javaScript:window.history.back();'>从新上传</a>");
filePath2 = null;
file = null;
break;
} if (file.isMissing()) continue; String year = String.valueOf(Calendar.getInstance().getTime().getYear());
String date = String.valueOf(Calendar.getInstance().getTime().getDate());
String month = String.valueOf(Calendar.getInstance().getTime().getMonth());
String hours = String.valueOf(Calendar.getInstance().getTime().getHours());
String minuts = String.valueOf(Calendar.getInstance().getTime().getMinutes());
String second = String.valueOf(Calendar.getInstance().getTime().getSeconds());
String tempString = year + "_" + month + "_" + date + "_" + hours + "_" + minuts + "_" + second; filePath = java.io.File.separator + saveFolder + java.io.File.separator + tempString + "." + file.getFileExt();
filePath2 = tempString + "." + file.getFileExt();
int tempCount = 0;
System.out.println(filePath);
try
{
file.saveAs(filePath, 1);
s = s + "保存了";
}
catch (SmartUploadException e) {
e.printStackTrace();
s = s + e.getLocalizedMessage();
s = s + "异常了";
s = s + e.getMessage();
}
++count;
} if (count != 0) break label761;
filePath2 = null;
label770: label761: out.print("请先点浏览选择您要上传的文件: <a href='javaScript:window.history.back();'>返回</a>");
}
catch (OutOfMemoryError me) {
filePath2 = null;
if (type.equals("pic")) {
out.print("对不起,您的文件文件太大,不允许上传,文件必须小于:" + (systemConfig.picSize / 1024L) + "KB <a href='javaScript:window.history.back();'>返回</a>"); break label770:
}
out.print("对不起,您的文件文件太大,不允许上传,文件必须小于:" + (systemConfig.videoSize / 1024L) + "KB <a href='javaScript:window.history.back();'>返回</a>");
}
finally {
su = null;
out = null;
}
System.gc();
return filePath2;
}
}
我现在想把限制上传资料格式的那一段条件代码删掉,然后再生成一个新的.class文件因为有些相机拍下来的图片用acdsee批量修改尺寸大小之后,上传时出现这个格式错误(图片只有几十K)万分感谢万分感谢!!!
1.在eclipse下建个工程,把web工程用到的jar都放到工程的classpath里。
2.在工程中建立一个package:com.souhom.struts.servlet,然后在这个包下建Class:testUpload。把你改好的代码全部copy进去。记住,替换的时候是ctrl+a然后ctrl+v。
3.ctrl+s。编译完成。到bin目录下找到那个class.
4.解压以前的那个jar,用你在第三步得到的class文件替换以前的class文件。重新打包。
javac D:\*.java
编译成功就可以看到*.class文件了
算,你还是下个eclipse按照我说的步骤做吧。你import的包太多,要不我就帮你编译了。
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;
import com.souhom.struts.systemConfig; 上面这些jar,你要给我。
别忘了com.souhom.struts.servlet这个所在的jar。
在那里把它new 出来就行了萨!