Java 部署JSP期间无法解决符号错误
我刚刚学习了基本的servlet和JSP技术,正在使用它设计一个简单的网站 该网站的目的是销售产品。产品的详细信息存储在数据库中。我想从数据库中检索数据并显示动态页面。我正在使用MVC方法,并尽我所能使其成为面向对象的 我面临着分类页面的问题(该页面旨在作为各种产品的索引…我想检索存储在DB中的分类并显示它们) 详情如下:Java 部署JSP期间无法解决符号错误,java,jsp,jspinclude,Java,Jsp,Jspinclude,我刚刚学习了基本的servlet和JSP技术,正在使用它设计一个简单的网站 该网站的目的是销售产品。产品的详细信息存储在数据库中。我想从数据库中检索数据并显示动态页面。我正在使用MVC方法,并尽我所能使其成为面向对象的 我面临着分类页面的问题(该页面旨在作为各种产品的索引…我想检索存储在DB中的分类并显示它们) 详情如下: 我创建了一个表示表的简单java类。表的名称在DB中是“Categories”…这个类被命名为CategoryTable,包含表示表的各种属性的实例字段 名为Category
我想你指的是WEB-INF/classes文件夹 我的JSP是否需要include语句或其他什么……如果需要,如何实现?
对要导入缺少的类,请执行以下操作:
<%@ page import="CategoryTable" %>
乍一看,这是因为您没有将类放入包中。无Packageless类在上的包内的其他类中不可见/不可导入。JSP文件即被编译并转换为扩展
JspServlet
的类,该类被放在servletcontainer特定的包中。从那里,它无法查看/导入无包类
每当您希望能够在其他地方重用/导入类时,总是将其放入包中
例如
请注意,无packageless servlet将在特定配置(例如ApacheTomcat)中的特定版本的特定ServletContainer上工作,但这不是避免在包中放置类的有效方法
这就是说,这表明您正在JSP文件中使用scriptlet。这是个坏习惯。与其使用servlet为JSP准备数据,不如使用像JSTL这样的标记库来控制JSP页面中的流,并使用EL(表达式语言,那些
${}
东西)来访问后端数据
另见
更新:既然您提到使用记事本/cmd,我只想强调Saheed more的答案:您不应该将类(
*.class
)文件与源(*.java
)文件放在同一文件夹中,而是放在/WEB-INF/classes
中。使用上述包示例时,类应放置在以下位置:
/WEB-INF/classes/com/shahensha/model/Category.class
/WEB-INF/classes/com/shahensha/dao/CategoryDAO.class
/WEB-INF/classes/com/shahensha/controller/CategoryController.class
如果您使用的是IDE,它将负责自动编译和构建。我必须指定路径吗?只要您的类文件(例如CategoryTable.class)直接位于WEB-INF/classes中,那么它应该在WebLogic使用的应用程序类路径中可用。当然,如果CategoryTable在包com.example.CategoryTable中,那么您需要确保:(1)您的导入变为:(2)文件:WEB-INF/classes/com/example/CategoryTable.class存在。类文件直接位于WEB-INF/classes中。。。所以你用我得到以下错误。。。G:\bea\weblogic81\server\bin\ \myserver\.wlnotdelete\extract\myserver\u MiniProject\u build\jsp\u servlet\u categorydisplayer.java:18:'.'应为导入类别表//[/CategoryDisplayer.jsp;第8行]^您能在这里运行示例吗?:小心使用roseindia.net。为了避免误会和错误的答案:您是在使用Eclipse/Netbeans/IntelliJ这样的IDE,还是在记事本和命令提示符中“普通”地使用IDE?
package com.shahensha.model;
public class Category {}
package com.shahensha.dao;
public class CategoryDAO {}
package com.shahensha.controller;
public class CategoryController extends HttpServlet {}