有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在tomcat中运行jsp文件时出现java错误?

我试图在tomcat服务器上运行一个jsp文件(test1.jsp),它给出了错误
测试1。jsp:

<html>
   <head><title>Hello World</title></head>
     <body>
       Hello World!<br/>    
      <%@ page import="neww.*" %>
      <% Simple demo = new Simple();
      out.println("Current date : " + demo.retur());%>
      <%
         out.println("Your IP address is " + request.getRemoteAddr());
      %>
     </body>
</html>

简单。java:

package neww;
import static com.hp.hpl.jena.query.ReadWrite.READ ;
import static com.hp.hpl.jena.query.ReadWrite.WRITE ;
import com.hp.hpl.jena.query.ReadWrite ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.query.Query ;
import com.hp.hpl.jena.query.QueryExecution ;
import com.hp.hpl.jena.query.QueryExecutionFactory ;
import com.hp.hpl.jena.query.QueryFactory ;
import com.hp.hpl.jena.query.QuerySolution ;
import com.hp.hpl.jena.query.ResultSet ;
import com.hp.hpl.jena.tdb.TDBFactory ;
import com.hp.hpl.jena.query.ResultSetFormatter;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.vocabulary.*;
import java.util.Iterator;
import java.util.Scanner;
import com.hp.hpl.jena.sparql.sse.SSE ;
import com.hp.hpl.jena.update.* ;
import java.util.*;
public class Simple{
public String retur(){
/*String query1;
            query1="hjcooljohny75@gmail.com";
        //query1 = (String)(subjectentry.getText());
            String s="SELECT ?x WHERE { ?x <TO:> '"+query1+"'}";
          //   subjectoutput.setText(s);
            String directory = "MYDATABASES/DATA2" ;
            Dataset ds = TDBFactory.createDataset(directory) ;
            Model model = ds.getDefaultModel() ;
           ds.begin(ReadWrite.READ) ;
             QueryExecution qExec = QueryExecutionFactory.create(s, ds) ;
           ResultSet rs = qExec.execSelect() ;
           String x=rs.toString();
          String[] arr = null;

            while (rs.hasNext()) {
                QuerySolution qs = rs.next();
                String rds = qs.get("x").toString();
               // String em = (String)rs.getString(0);
               //arr = em.split("\n");
               //for (int i =0; i < arr.length; i++){
              return rds; 

           }
             //if(rs==null)
  */              //subjectoutput.setText("sorry!!");
     String s="hi";
     return s;
}
}

我的目录结构是:
/check/WEB-INF/classes//neww/Simple。java
/check/WEB-INF/classes//neww/Simple。班 tomcat中的错误:
`

javax.servlet.ServletException: java.lang.NoClassDefFoundError: Simple
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:905)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:834)
    org.apache.jsp.test1_jsp._jspService(test1_jsp.java:82)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:403)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:347)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)`

我想这个错误可能与软件包有关,我真的被困在这个问题上了。。。救命


共 (1) 个答案

  1. # 1 楼答案

    你应该检查WEB-INF目录下的类目录。从异常中可以明显看出,服务器正在尝试加载您的类,但它在类路径中不可用

    您的应用程序结构应该是这样的

    应用程序名称 WEB-INF 班级 包结构 ->;你的班级档案应该在这里

    如果你将应用程序部署为war文件,则提取war并检查类文件位置

    一般来说,eclipse创建bin文件夹来存储类文件,检查类文件是否也存在,然后将其更改为WEB-INF下的classes文件夹