错误如下:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /registry.jsp(10,0) According to TLD, tag jsp:setProperty must be empty, but is not
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:83)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:363)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:167)
org.apache.jasper.compiler.Parser.parseBody(Parser.java:1757)
org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1096)
org.apache.jasper.compiler.Parser.parseSetProperty(Parser.java:994)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1265)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1589)
org.apache.jasper.compiler.Parser.parse(Parser.java:172)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:252)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:152)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:138)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:246)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:454)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:440)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:555)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:300)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
tw.com.javaworld.CH11.HelloFilter.doFilter(Unknown Source)
note The full stack trace of the root cause is available in the Tomcat logs.
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /registry.jsp(10,0) According to TLD, tag jsp:setProperty must be empty, but is not
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:83)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:363)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:167)
org.apache.jasper.compiler.Parser.parseBody(Parser.java:1757)
org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1096)
org.apache.jasper.compiler.Parser.parseSetProperty(Parser.java:994)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1265)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1589)
org.apache.jasper.compiler.Parser.parse(Parser.java:172)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:252)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:152)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:138)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:246)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:454)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:440)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:555)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:300)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
tw.com.javaworld.CH11.HelloFilter.doFilter(Unknown Source)
note The full stack trace of the root cause is available in the Tomcat logs.
ACTION="http://localhost:8080/JSPBook/registry.jsp"最好改为action="registry.jsp"
2.
<jsp:useBean id = "jdbc" scope="page" class="JDBC">
<jsp:setProperty name="jdbc" property="username" value="$(param.name)"/>
</jsp:useBean>
嘻嘻
<jsp:setProperty name="jdbc" property="username" value="$(param.name)"/>
</jsp:useBean>
另外,不要用http://localhost:8080/JSPBook/registry.jsp
提交,用registry.jsp
import java.sql.*;
class JDBC {
String username;
public void setUsername(String username) {
this.username =username;
}
public String getUsername() {
return this.username;
}
public void save(){
try {
Connection c = null;
Statement s = null;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url = "jdbc:microsoft:sqlserver://localhost:1433;database=student";
c = DriverManager.getConnection(url,"xy","12345678");
s = c.createStatement();
String upd = "insert into test (name) values('"+username+"')";
s.executeUpdate(upd);
s.close();
c.close();
}
catch(Exception e) {
System.out.println(e);
}
}
}
在registry.jsp:
<jsp:useBean id = "jdbc" scope="page" class="JDBC"/>
<jsp:setProperty name="jdbc" property="username" value="$(param.name)"/>
<%jdbc.save();%>
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 9 in the jsp file: /registry.jspGenerated servlet error:
[javac] Compiling 1 source fileD:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\JSPBook\org\apache\jsp\registry_jsp.java:49: cannot resolve symbol
symbol : class JDBC
location: class org.apache.jsp.registry_jsp
JDBC jdbc = null;
^An error occurred at line: 9 in the jsp file: /registry.jspGenerated servlet error:
D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\JSPBook\org\apache\jsp\registry_jsp.java:51: cannot resolve symbol
symbol : class JDBC
location: class org.apache.jsp.registry_jsp
jdbc = (JDBC) pageContext.getAttribute("jdbc", PageContext.PAGE_SCOPE);
^An error occurred at line: 9 in the jsp file: /registry.jspGenerated servlet error:
D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\JSPBook\org\apache\jsp\registry_jsp.java:54: cannot resolve symbol
symbol : class JDBC
location: class org.apache.jsp.registry_jsp
jdbc = (JDBC) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "JDBC");
^
3 errors
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:128)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:307)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:416)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:456)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:440)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:555)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:300)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
tw.com.javaworld.CH11.HelloFilter.doFilter(Unknown Source)
note The full stack trace of the root cause is available in the Tomcat logs.
WEB-INF\classes下面
应该改成
<jsp:useBean id = jdbc scope="page" class="JDBC.java"/>
package db;
import java.sql.*;
class JDBC {
String username;
public void setUsername(String username) {
try {
Connection c = null;
Statement s = null;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url = "jdbc:microsoft:sqlserver://localhost:1433;database=student";
c = DriverManager.getConnection(url,"xy","12345678");
s = c.createStatement();
String upd = "insert into test (name) values('"+username+"')";
s.executeUpdate(upd);
s.close();
c.close();
}
catch(Exception e) {
System.out.println(e);
}
}
}2.
registry.jsp改为:
<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=GB2312" %>
<html>
<head>
<title>registry.jsp
</title>
</head>
<body>
<jsp:useBean id = "jdbc" scope="page" class="db.JDBC">
<jsp:setProperty name="jdbc" property="username" value="$(param.name)"/>
</body>
</html>
最后少了个“/“!!!
哈哈!!
谢谢了