java - jsp mysql 注册时出错

标签 java mysql jsp tomcat jsp-tags

当我尝试使用此代码和 tomacat 服务器将数据插入数据库时​​,它显示错误

<title>Insert Data</title>
    <%@page import="com.oreilly.servlet.*,java.sql.*,java.lang.*,java.text.SimpleDateFormat,java.util.*,java.io.*,javax.servlet.*,javax.servlet.http.*" %>
    <%@ page import="java.sql.*"%>
    <%@ include file="connect.jsp" %>
    <%@ page import="java.util.Date" %>
    <%
        ArrayList list = new ArrayList();
        ServletContext context = getServletContext();
        String dirName =context.getRealPath("Gallery\\");
        String paramname=null;
        String file=null;
        String a=null,b=null,c=null,d=null,image=null;
        String ee[]=null;
        String checkBok=" ";
        int ff=0;
        String bin = "";
        String uname=null;     
        String pass=null;   
        String email=null;
        String mno=null;
        String dob=null;
        String gender=null;
        String addr=null;
        String pincode=null;
        String status="waiting",acc_status="Active";


        FileInputStream fs=null;
        File file1 = null;  

        try {
            MultipartRequest multi = new MultipartRequest(request, dirName, 10 * 1024 * 1024); // 10MB
            Enumeration params = multi.getParameterNames();
            while (params.hasMoreElements()) 
            {
                paramname = (String) params.nextElement();

                if(paramname.equalsIgnoreCase("userid"))
                {
                    uname=multi.getParameter(paramname);
                }
                if(paramname.equalsIgnoreCase("pass"))
                {
                    pass=multi.getParameter(paramname);
                }
                if(paramname.equalsIgnoreCase("email"))
                {
                    email=multi.getParameter(paramname);
                }
                if(paramname.equalsIgnoreCase("mobile"))
                {
                    mno=multi.getParameter(paramname);
                }
                if(paramname.equalsIgnoreCase("dob"))
                {
                    dob=multi.getParameter(paramname);
                }
                if(paramname.equalsIgnoreCase("gender"))
                {
                    gender=multi.getParameter(paramname);
                }

                if(paramname.equalsIgnoreCase("address"))
                {
                    addr=multi.getParameter(paramname);
                }
                if(paramname.equalsIgnoreCase("pincode"))
                {
                    pincode=multi.getParameter(paramname);
                }
                if(paramname.equalsIgnoreCase("pic"))
                {
                    image=multi.getParameter(paramname);
                }

            }

            int f = 0;
            Enumeration files = multi.getFileNames();   
            while (files.hasMoreElements()) 
            {
                paramname = (String) files.nextElement();

                if(paramname != null)
                {
                    f = 1;
                    image = multi.getFilesystemName(paramname);
                    String fPath = context.getRealPath("Gallery\\"+image);
                    file1 = new File(fPath);
                    fs = new FileInputStream(file1);
                    list.add(fs);

                    String ss=fPath;
                    FileInputStream fis = new FileInputStream(ss);
                    StringBuffer sb1=new StringBuffer();
                    int i = 0;
                    while ((i = fis.read()) != -1)
                     {
                        if (i != -1) 
                        {
                            //System.out.println(i);
                            String hex = Integer.toHexString(i);
                            // session.put("hex",hex);
                            sb1.append(hex);
                            // sb1.append(",");

                            String binFragment = "";
                            int iHex;

                            for(int i1= 0; i1 < hex.length(); i1++)
                            {
                                iHex = Integer.parseInt(""+hex.charAt(i1),16);
                                binFragment = Integer.toBinaryString(iHex);

                                while(binFragment.length() < 4)
                                {
                                    binFragment = "0" + binFragment;
                                }
                                bin += binFragment;
                                //System.out.print(bin);
                            }
                        }   
                    }
                }       
            }
            FileInputStream fs1 = null;
            //name=dirName+"\\Gallery\\"+image;
            int lyke=0;
            //String as="0";
            //image = image.replace(".", "_b.");

            String query1="select * from user  where username='"+uname+"'"; 
            Statement st1=connection.createStatement();
            ResultSet rs1=st1.executeQuery(query1);
            if ( rs1.next() )
               {

                String msg="User Already Registered";
                application.setAttribute("msg",msg);
                response.sendRedirect("u_register.jsp");
           }
           else
           {
                PreparedStatement ps=connection.prepareStatement("insert into user(username,password,email,mobile,dob,gender,address,pincode,status,image,acc_status) values(?,?,?,?,?,?,?,?,?,?,?)");

            ps.setString(1,uname);
            ps.setString(2,pass);
            ps.setString(3,email);  
            ps.setString(4,mno);
            ps.setString(5,dob);
            ps.setString(6,gender);
            ps.setString(7,addr);
            ps.setString(8,pincode);
            ps.setString(9,status);
            ps.setBinaryStream(10, (InputStream)fs, (int)(file1.length())); 
            ps.setString(11,acc_status);        

            int x=ps.executeUpdate();
            if(x>0)
            {

                response.sendRedirect("ur_clickpoints.jsp?uname="+uname+"");

           }
   }
}
        catch (Exception e) 
        {
            out.println(e.getMessage());
            e.printStackTrace();
        }
    %>

这里是错误

Type Exception Report

Message Unable to compile class for JSP:

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: [32] in the jsp file: [/geethu/u_insertdata.jsp]
MultipartRequest cannot be resolved to a type
29:                     File file1 = null;  
30:                     
31:                     try {
32:                         MultipartRequest multi = new MultipartRequest(request, dirName, 10 * 1024 * 1024); // 10MB
33:                         Enumeration params = multi.getParameterNames();
34:                         while (params.hasMoreElements()) 
35:                         {


An error occurred at line: [32] in the jsp file: [/geethu/u_insertdata.jsp]
MultipartRequest cannot be resolved to a type
29:                     File file1 = null;  
30:                     
31:                     try {
32:                         MultipartRequest multi = new MultipartRequest(request, dirName, 10 * 1024 * 1024); // 10MB
33:                         Enumeration params = multi.getParameterNames();
34:                         while (params.hasMoreElements()) 
35:                         {


Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:461)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:392)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:362)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:346)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

Note The full stack trace of the root cause is available in the server logs.

最佳答案

添加一个新的字符串变量作为 PATH,并在那里为您的 dirName 分配正确的路径位置。

String PATH = "//Your Path here "; 

将此 PATH 传递给多请求对象。

MultipartRequest multi = new MultipartRequest(request, PATH, 10 * 1024 * 1024);

试试这个,我认为这会有所帮助!!!

关于java - jsp mysql 注册时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49371021/

相关文章:

java - 对列表数据使用国际化

jsp - 如何干净地设置所有 JSP 的 pageEncoding?

java - 检查数组是否为空时出现 NullPointerException

java - 如何将从相机或图库获取的图像传递到另一个 Activity

java - 如何使用JSP从mysql数据库中读取Blob(图片)数据并显示在浏览器上

mysql - 从数据库获取最新记录 多次查询

java - 如何在jsp页面的html标签内放置html标签

java - 如何打印LinkedHashMap中保存的数据

java - 放大位图

mysql - 根据 MySQL 中的过滤器检索每个 ID 的计数