站内搜索: 请输入搜索关键词

当前页面: JAVA 编程资料牛鼻论坛J2ee & 企业开发技术区→jsp 连接sql server的问题

jsp 连接sql server的问题

发表新主题   回复此主题

第1楼 2006-12-01 15:48 fyingfeng69 写道:

jsp 连接sql server的问题


jsp 连接sql server的问题
结果:
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:520)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.io.UTFDataFormatException: Invalid byte 1 of 1-byte UTF-8 sequence.
org.apache.jasper.xmlparser.UTF8Reader.invalidByte(UTF8Reader.java:615)
org.apache.jasper.xmlparser.UTF8Reader.read(UTF8Reader.java:487)
org.apache.jasper.xmlparser.XercesEncodingDetector.load(XercesEncodingDetector.java:1000)
org.apache.jasper.xmlparser.XercesEncodingDetector.skipString(XercesEncodingDetector.java:966)
org.apache.jasper.xmlparser.XercesEncodingDetector.scanXMLDecl(XercesEncodingDetector.java:1209)
org.apache.jasper.xmlparser.XercesEncodingDetector.getEncoding(XercesEncodingDetector.java:108)
org.apache.jasper.xmlparser.XercesEncodingDetector.getEncodingMethod(XercesEncodingDetector.java:121)
org.apache.jasper.xmlparser.XMLEncodingDetector.getEncoding(XMLEncodingDetector.java:57)
org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:313)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:170)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

请问为什么啊?

第2楼 2013-08-31 12:44 Robot :

jsp 连接sql server的问题 相关


第3楼 2006-12-01 16:04 天使爱寂寞 写道:

1、java.lang.NullPointerException异常

一般是对一个NULL值的变量进行操作引起的。例如下面的操作就会抛出异常java.lang.NullPointerException。

<%

String a=null;

a.substring(0,1);

%>

为避免这种异常,最好在对变量操作之前检查看它是否是NULL值。例如:

<%

String name=Session.getAttribute("name");

if(name==null){

//执行某种操作

}

else{

//执行另种操作

}

%>

2、JSP是大小写敏感的

JSP程序是区分大小写的,在编写JSP程序时一定要注意不要将大小写混淆,例如:

String abook;与String Abook;它们代表两个不同的字符串变量。用过其他编程语言的人最容易犯这种错误。

3、未被初始化错误

先来看如下一段代码:

public String Compare(String user1,String user2){

boolean result;

if(user1.compareTo(user2)==0)

result=true;

return result;

}

乍一看这段程序并没有任何问题,但在编译的时候会出现如下错误提示:

variable result might not have been initialized

return result

^

这是因为,当if条件为false的时候,result可能会没有被赋予初值,而return的时候则会出错。java编译器很聪明的检查出了这一错误并


在编译的时候给予了提示。这需要程序员在声明result的时候或者在返回result之前给它赋值。所以在定义一个变量时最好赋予一个初值。

4、变量未定义错误

可能大家都知道变量在使用之前要定义,但是不经意间却常常犯这种错误,例如下面一段代码:

<html>

<body>

<table>

<%

for(int i=0;i<5;i++)

{

String s=""+i;

}

%>

<tr>

<td>i现在的值是:</td>

<td><%=s%></td>

</tr>

</table>

</body>

</html>

编译时会报错:

Undefined variable:s

out.print(s);

^

1 error

出现这种错误是由于逻辑错误,for循环的结束标记符号"}"放错了位置,正确的写法应该如下段代码所示:

<html>

<body>

<table>

<%

for(int i=0;i<5;i++)

{

String s=""+i;

%>

<tr>

<td>i现在的值是:</td>

<td><%=s%></td>

</tr>

<%}%>

</table>

</body>

</html>

5、SQL语句换行书写时未加适当的空格而导致的错误

我们先来看下面这段代码:

String name=tom;

String sql="select * from userTable"+

"where user_name='"+name+"'"+

"and user_age=22";

上面的代码在执行的时候将转换成这样的SQL语句:

select * from userTablewhere user_name='name'and user_age=22

从输出的SQL语句可以看出userTable 和 where 之间以及'name'和and之间都缺空格,这样是不能从数据库中取出数据的。正确的写法应该


如下所示:

String name=tom;

String sql="select * from userTable"+

" where user_name='"+name+"'"+

" and user_age=22";


第4楼 2006-12-01 18:45 木子晴 写道:

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

确认这一行里面你的CLASS没有错误.
java.io.UTFDataFormatException: Invalid byte 1 of 1-byte UTF-8 sequence.
确认你的机器不是WINDOWS,如果是最好type="gb2312"
重新部署你的pro以及restart your toomcat.


发表新主题   回复此主题