2017-09-16 194 views
1

我有SQLLite数据库。数据库连接在SQLite.java类中。在ProductPage.jsp中,我创建了这个类的一个实例。 错误是“SQLite无法解析为某种类型”。我使用Tomcat服务器。屏幕截图附上。你能帮我解决这个问题吗?SQLite无法解析为类型

SQLite.java

import java.sql.Connection; 
import java.sql.DriverManager; 

    public class SQLite { 
    Connection con =null; 

    public static Connection getConnection(){ 
     try{ 
      //Class.forName("org.sqlite.JDBC"); 

      //adjust database path 
      Connection cn = DriverManager.getConnection("jdbc:sqlite:Lab_4.sqlite"); 
      System.out.println("Connection successful"); 
      return cn; 
     }catch(Exception e){ 
      System.out.println("Error "+e.getMessage()); 
      return null; 
     }  
    } 
} 

ProductPage.jsp

<%@page import="java.sql.Connection"%> 
    <%@page import="java.sql.PreparedStatement"%> 
    <%@page import="java.sql.ResultSet"%> 

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
     pageEncoding="ISO-8859-1"%> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <title>Product Table</title> 
    </head> 
    <body> 



     <% Connection cn=new SQLite.getConnection(); 

      String pid, name, price, stock, comments;  
      String query = ("SELECT * FROM T_PRODUCT"); 
      PreparedStatement pstmt = cn.prepareStatement(query); 
      //pstmt.setInt(1, 2); 
      ResultSet rs = pstmt.executeQuery(); %> 

      <table border="2"> 
     <tr> 
      <td>Product ID</td> 
      <td>Product Name</td> 
      <td>Product Price</td> 
      <td>Product Stock</td> 
      <td>Product Comments</td> 
     </tr> 
     <% 
     try 
     { 



      while(rs.next()) 
      {%> 

      <tr><td><%out.println(rs.getInt("Prd_ID")); %></td></tr> 
      <tr><td><%out.println(rs.getString("Prd _Name")); %></td></tr> 
      <tr><td><%out.println(rs.getInt("Prd _Price")); %></td></tr> 
      <tr><td><%out.println(rs.getInt("Prd _Stock")); %></td></tr> 
      <tr><td><%out.println(rs.getString("Prd _Comments")); %></td></tr> 


     <% 
      } 
     %> 
     </table> 
     <% 
      cn.close(); 

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

    </body> 
    </html> 

Screenshot

回答

0

你可以尝试通过<page>标签导入SQLite.java类,即下面的添加到开始你的ProductPage.jsp

<%@ page import="SQLite" %> 

如果您SQLite.java类实际上有一个包(你没有告诉我们),然后使用此:

<%@ page import="package.SQLite" %> 

注意,很多人会认为这是不好的做法,导入到JSP,它被认为是一个违反了良好的MVC原则。

+0

我怎样才能以其他方式组织这个? – Nadia

+0

您可以直接在JSP中包含连接代码。 –

+0

如果我直接在JSP中添加连接代码,我必须为每个查询创建连接。这是对的吗? – Nadia