【问题标题】:JSP page won't work :Java.lang.ClassNotFoundExceptionJSP 页面无法工作:Java.lang.ClassNotFoundException
【发布时间】:2013-03-28 12:05:45
【问题描述】:

这是我的 register.jsp 文件中的所有代码

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>

<html>
<head>
    <title>register</title>
</head>
<body>
    <form action="register.jsp" method="post">
        account:
        <input type="text" name="user"></input><br>
        password   :
        <input type="password" name="password"></input><br>
        <input type="submit" name = "submit" value = "Submit"></input>
        <input type="reset" name = "reset" value = "Reset"></input>
    </form>
</body>
    </html>

<c:set var="user" value = ${param.user } scope = request></c:set>
<c:set var="password" value = ${param.password } scope = request></c:set>
<sql:setDataSource driver="oracle.jdbc.driver.OracleDriver" user="scott"     password="669193"
url = "jdbc:oracle:thin:@//localhost:1521/orcl"/>
<sql:query var="query" sql = "select * from users where user =? and password = ?">
   <sql:param value = ${user }></sql:param>
   <sql:param value = ${password }></sql:param>
</sql:query>
<c:choose>
<c:when test="${!empty query.rows}">
    <jsp:forward page="Hello.jsp"></jsp:forward>
</c:when>
</c:choose>

当我打开它时,浏览器显示此错误HTTP Status 500

非常感谢任何帮助:) 谢谢!

这是堆栈跟踪

输入异常报告

消息

描述服务器遇到了一个内部错误(),导致它无法完成>这个请求。

异常

org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class >for JSP org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

根本原因

org.apache.jasper.JasperException:无法为 JSP 加载类 org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:600) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

根本原因

java.lang.ClassNotFoundException: org.apache.jsp.register_jsp java.net.URLClassLoader$1.run(URLClassLoader.java:366) java.net.URLClassLoader$1.run(URLClassLoader.java:355) java.security.AccessController.doPrivileged(本机方法) java.net.URLClassLoader.findClass(URLClassLoader.java:354) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

【问题讨论】:

  • 您是否已将 oracle 类添加到您的类路径中?并且您的部分页面似乎无效,您应该引用标签的所有属性。
  • @RogerLindsjö 我已经添加了 oracle 类。

标签: jsp jstl


【解决方案1】:

你能发布整个堆栈跟踪吗?另外,为什么要在视图(JSP)中嵌入数据库连接逻辑?它们应该在控制器中的某个地方。

【讨论】:

  • 谢谢。这是我第一次尝试使用 JSTL 和 EL。我想用它做所有事情。
  • 从您的 JSP 中删除所有 JSTL 代码,然后从纯 HTML 开始(因此删除
猜你喜欢
  • 2012-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多