<%@ page language="java"
import="java.util.*,myjava.mycompany.operate.*"
pageEncoding="GBK"%>
<%
    request.setCharacterEncoding("GBK");
%><html>
  <head>
    <title>康复网图片上传</title>
  </head>
  <body>     
    <%
    FileUploadTools fut=new FileUploadTools(request,70*1024,this.getServletContext().getRealPath("/")+"uploadtemp");
    String pictureName = fut.getParameter("pictureName");
    String show = fut.getParameter("show");
    List <String> all = fut.saveAll(this.getServletContext().getRealPath("/")+"upload"+java.io.File.separator); 
    %>
    <h3><%=pictureName %></h3>
    <h3><%=show %></h3>
    <%
    Iterator <String> iter=all.iterator();
    while(iter.hasNext()){
    %>
    <img src="../upload/<%=iter.next()%>"/>
    <%
    }
    %>
  </body>
</html>HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 13 in the jsp file: /admin/web/KFpictureCheck.jsp
Generated servlet error:
Syntax error on token "<", invalid AssignmentOperatorAn error occurred at line: 13 in the jsp file: /admin/web/KFpictureCheck.jsp
Generated servlet error:
Syntax error on token "=", != expectedAn error occurred at line: 21 in the jsp file: /admin/web/KFpictureCheck.jsp
Generated servlet error:
Syntax error on token "<", invalid AssignmentOperatorAn error occurred at line: 21 in the jsp file: /admin/web/KFpictureCheck.jsp
Generated servlet error:
Syntax error on token "=", != expected
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:386)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:280)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:259)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:247)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.3 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.5.3

解决方案 »

  1.   

    FileUploadTools 类:
    package myjava.mycompany.operate;
    import java.util.*;
    import java.io.*;
    import javax.servlet.http.*;
    import org.apache.commons.fileupload.*;
    import org.apache.commons.fileupload.disk.*;
    import org.apache.commons.fileupload.servlet.*;
    public class FileUploadTools {
    private HttpServletRequest request=null;
    private List<FileItem> items=null;
    private Map<String,List<String>> params= new HashMap<String,List<String>>() ;
    private Map<String, FileItem> files=new HashMap<String,FileItem>();
    public FileUploadTools(HttpServletRequest request,int maxSize,String tempDir)throws Exception{
    this.request=request;
    DiskFileItemFactory factory=new DiskFileItemFactory();
    if(tempDir!=null){
    factory.setRepository(new File(tempDir));
    }
    ServletFileUpload upload=new ServletFileUpload(factory);
    if(maxSize>0){
    upload.setFileSizeMax(maxSize);
    }
    this.items=upload.parseRequest(request);
    this.init();
    }
    private void init(){
    Iterator<FileItem> iter=this.items.iterator();
    IPTimeStamp its=new IPTimeStamp(this.request.getRemoteAddr());
    while(iter.hasNext()){
    FileItem item=iter.next();
    if(item.isFormField()){//普通参数
    String name=item.getFieldName();
    String value=item.getString();
    List<String>temp=null;
    if(this.params.containsKey(name)){
    temp=this.params.get(name);
    }else{
    temp=new ArrayList<String>();
    }
    temp.add(value);
    this.params.put(name, temp);
    }else{
    String fileName=its.getIPTimeRand()+"."+item.getName().split("\\.")[1];
        this.files.put(fileName, item);
    }
    }
    }
    public String getParameter(String name){//根据参数名称取出内容
    String ret=null;
    List<String> temp=this.params.get(name);
    if(temp!=null){
    ret=temp.get(0);
    }
    return ret;
    }
    public String[]getParameterValues(String name){
    String ret[]=null;
    List <String >temp=this.params.get(name);
    if(temp!=null){
    ret=temp.toArray(new String[]{});
    }
    return ret;
    }
    public Map<String,FileItem> getUploadFiles(){
    return this.files;
    }
    //保存之后一定要有名字。
    public List<String> saveAll(String saveDir) throws IOException{
    List<String> names=new ArrayList<String>();
    if(this.files.size()>0){
    Set<String> keys=this.files.keySet();
    Iterator<String> iter=keys.iterator();
    File saveFile=null;
    InputStream input=null;
    OutputStream out=null;
    while(iter.hasNext()){
    FileItem item=this.files.get(iter.next());
    String fileName=new IPTimeStamp(request.getRemoteAddr()).getIPTimeRand()+"."+item.getName().split("\\.")[1];
    saveFile =new File(saveDir+fileName);
    names.add(fileName);//名字不返回后期无法操作
    try{
    input=item.getInputStream();
    out=new FileOutputStream(saveFile);
    int temp=0;
    byte data[]=new byte[512];
    while((temp=input.read(data,0,512))!=-1){
    out.write(data);
    }
    }catch(IOException e){
    throw e;
    }finally{
    try{
    input.close();
    out.close();
    }catch(IOException ex){
    throw ex;
    }
    }
    }
    }
    return names;
    }
    }这实在找不出来错误了。谢谢大家帮下忙。
      

  2.   

    An error occurred at line: 13 in the jsp file: /admin/web/KFpictureCheck.jsp
    Generated servlet error:
    Syntax error on token "<", invalid AssignmentOperator
    是不是有字符没转译呀?
      

  3.   

    不支持的话就换成z转义字符&nbsp; &lt; &gt
      

  4.   

    An error occurred at line: 13 in the jsp file: /admin/web/KFpictureCheck.jsp
    Generated servlet error:
    Syntax error on token "=", != expectedAn error occurred at line: 21 in the jsp file: /admin/web/KFpictureCheck.jsp
    Generated servlet error:
    Syntax error on token "<", invalid AssignmentOperatorAn error occurred at line: 21 in the jsp file: /admin/web/KFpictureCheck.jsp
    Generated servlet error:
    Syntax error on token "=", != expected
    明显是这里有错误啊
      

  5.   

       无法编译JSP  一个错误发生在13行:从jsp文件:/admin/web/ KFpictureCheck.jsp
    错误:产生servlet
    语法错误、无效AssignmentOperator " < "一个错误发生在13行:从jsp文件:/admin/web/ KFpictureCheck.jsp
    错误:产生servlet
    语法错误,在“=”! =expected一个错误发生在线:21行,在jsp文件:/admin/web/ KFpictureCheck.jsp
    错误:产生servlet
    语法错误、无效AssignmentOperator " < "一个错误发生在线:21行,在jsp文件:/admin/web KFpictureCheck.jsp
    错误:产生servlet
    语法错误表示,在“=”! =expected