gpt4 book ai didi

java - 在 Tomcat6 中将类导入 JSP

转载 作者:行者123 更新时间:2023-11-28 23:45:08 25 4
gpt4 key购买 nike

我正在做一个任务,要求在 Tomcat6 服务器上实现一个 webapps

在jsp文件中

<%@ 
page language = "java"
import = "org.me.webapps.Bookstore.TitlesBean, java.util.*"
session = "true"
%>
<!-- begin document -->
<html xmlns = "http://www.w3.org/1999/xhtml">

<body>
<%-- begin JSP scriptlet to create list of books --%>
<%
TitlesBean titlesBean = new TitlesBean();
List titles = titlesBean.getTitles();
BookBean currentBook;

// store titles in session for further use
session.setAttribute( "titles", titles );

....

我已经运行了生成 TitlesBean.class 文件的 ant build/WEB-INF/classes/org/me/webapps/bookstore/

但是,当我浏览jsp页面时,出现如下错误,看起来服务器无法找到或导入.class文件

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

An error occurred at line: 6 in the generated java file
Only a type can be imported. org.me.webapps.bookstore.TitlesBean resolves to a package

An error occurred at line: 32 in the jsp file: /war/books2.jsp
TitlesBean cannot be resolved to a type
29:
30: <%-- begin JSP scriptlet to create list of books --%>
31: <%
32: TitlesBean titlesBean = new TitlesBean();
33: List titles = titlesBean.getTitles();
34: BookBean currentBook;
.....

TitlesBean.java

// TitlesBean.java
// Class TitlesBean makes a database connection and retrieves
// the books from the database.
package org.me.webapps.bookstore;

// Java core packages
import java.io.*;
import java.sql.*;
import java.util.*;
import java.net.*;

public class TitlesBean implements Serializable {
private static final long serialVersionUID = 6723471178342776147L;
private Connection connection;
private PreparedStatement titlesQuery;

// construct TitlesBean object
public TitlesBean() {
// attempt database connection and setup SQL statements
try {
URL myUrl = getClass().getResource("TitlesBean.class");

System.out.println(getDatabasePath(myUrl.toString()));

Class.forName("org.hsqldb.jdbcDriver");
connection = DriverManager.getConnection( "jdbc:hsqldb:hsql://localhost/bookdb", "sa", "" );

titlesQuery = connection
.prepareStatement("SELECT isbn, title, editionNumber, "
+ "copyright, publisherID, imageFile, price "
+ "FROM titles ORDER BY title");
}

// process exceptions during database setup
catch (SQLException sqlException) {
sqlException.printStackTrace();
}

// process problems locating data source
catch (Exception exception) {
exception.printStackTrace();
}
}

// return a List of BookBeans
public List<BookBean> getTitles() {
List<BookBean> titlesList = new ArrayList<BookBean>();

// obtain list of titles
try {
ResultSet results = titlesQuery.executeQuery();

// get row data
while (results.next()) {
BookBean book = new BookBean();

book.setISBN(results.getString("isbn"));
book.setTitle(results.getString("title"));
book.setEditionNumber(results.getInt("editionNumber"));
book.setCopyright(results.getString("copyright"));
book.setPublisherID(results.getInt("publisherID"));
book.setImageFile(results.getString("imageFile"));
book.setPrice(results.getDouble("price"));

titlesList.add(book);
}
} catch (SQLException exception) {
exception.printStackTrace();
}

return titlesList;
}

private String getDatabasePath(String classPath) {
String path = "";
String crtToken;

StringTokenizer tokens = new StringTokenizer(classPath, "/");
int num = tokens.countTokens();
tokens.nextToken();

for (int i = 1; i < num; i++) {
crtToken = tokens.nextToken();
if (crtToken.equals("classes")) {
break;
}
path = path + crtToken + "\\";
}

return path;
}

// close statements and terminate database connection
protected void finalize() {
// attempt to close database connection
try {
connection.close();
}

// process SQLException on close operation
catch (SQLException sqlException) {
sqlException.printStackTrace();
}
}
}

tomcat 的设置应该没问题,因为我可以运行一些简单的带有循环或条件的 jsp 文件,只要它们不需要导入即可。我还应该尝试什么?

最佳答案

TitlesBean 位于 org.me.webapps.bookstore 并且在您的 jsp 导入中,您已将其声明为 org.me.webapps.Bookstore .TitlesBean,您在 jsp 导入声明中有一个大写字母 B。像这样声明

<%@ 
page language = "java"
import = "org.me.webapps.bookstore.TitlesBean, java.util.*"
session = "true"
%>

关于java - 在 Tomcat6 中将类导入 JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15172244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com