java,jsp高手请帮我解决一下问题,谢谢啦!!
我的程序:<html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><ti...
我的程序:<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>注册登录系统首页</title>
<link rel="stylesheet" href="register.css" type="text/css"/>
</head>
<%
String UserId = (String)session.getAttribute("user");
if(UserId == null || UserId == "")
response.sendRedirect("login.jsp");
String product_name ="";
float price;
String description ="";
Connection con = null;
Statement sm = null;
ResultSet rs = null;
try{
Class.forName("com.mysql.jdbc.Driver").netInstance(); //装载jdbc驱动
String url = "jdbc:mysql://localhost/mydb"; //定义数据库连接url
con = DriverManager.getConnection(url,"root","12345"); //获取数据库连接实例
sm = con.createStatement(); //获取Statement的实例
rs = sm.executeQuery("select * from products"); //执行查询语句,并返回给结果集
}catch(Exception e){
e.printStackTrace();
}
%>
<body>
<table width="80%" align="center">
<tr>
<td class="title"> 用户注册登录系统==<span class="title1">产品展示</span>==</td>
<td style="width:150; height:20; vertical-align:middle; text-align:
center;"><%=UserId%> 您好! <a href="login.jsp">登录</a>
| <a href="logout.jsp">注销</a></td>
</tr>
</table>
<hr align="center" width="75%" color="#990000" size="1"/>
<table width="80%" align="center" >
<tr><td height="5" colspan="2"></td></tr>
<%
while(rs.next()){
product_name = rs.getString("PRODUCT_NAME");
price = rs.getFloat("PRICE");
description = rs.getString("DESCRIPTION");
%>
<tr>
<td> 产品名称:<%=product_name%></td><td width="40%"> 报价:<span
style="color:#FF0000; font-style:italic;"></span></td>
</tr>
<tr>
<td colspan="2"> 描述:<%=description%></td>
</tr>
<tr><td height="5" colspan="2"><hr size="3" width="10%"/></td></tr>
<%
}
finally
{
if(rs !=null)
{
try
{
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(sm !=null)
{
try
{
sm.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(con !=null)
{
try
{
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
%>
</table>
<div align="center" class="tail">2010==本人版权拥有</div>
</body>
</html>
产生的错误:An error occurred at line: 56 in the jsp file: /Register/index.jsp
Generated servlet error:
D:\zzb\soft\Tomcat 5.0\work\Catalina\localhost\MyRegister\org\apache\jsp\Register\index_jsp.java:111: 'finally' without 'try'
finally
^
1 error
请帮我看看是怎么回事啊,怎么改呀,谢谢啦!!!感激不尽!!!
56行在finally上两行的 <% 处 展开
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>注册登录系统首页</title>
<link rel="stylesheet" href="register.css" type="text/css"/>
</head>
<%
String UserId = (String)session.getAttribute("user");
if(UserId == null || UserId == "")
response.sendRedirect("login.jsp");
String product_name ="";
float price;
String description ="";
Connection con = null;
Statement sm = null;
ResultSet rs = null;
try{
Class.forName("com.mysql.jdbc.Driver").netInstance(); //装载jdbc驱动
String url = "jdbc:mysql://localhost/mydb"; //定义数据库连接url
con = DriverManager.getConnection(url,"root","12345"); //获取数据库连接实例
sm = con.createStatement(); //获取Statement的实例
rs = sm.executeQuery("select * from products"); //执行查询语句,并返回给结果集
}catch(Exception e){
e.printStackTrace();
}
%>
<body>
<table width="80%" align="center">
<tr>
<td class="title"> 用户注册登录系统==<span class="title1">产品展示</span>==</td>
<td style="width:150; height:20; vertical-align:middle; text-align:
center;"><%=UserId%> 您好! <a href="login.jsp">登录</a>
| <a href="logout.jsp">注销</a></td>
</tr>
</table>
<hr align="center" width="75%" color="#990000" size="1"/>
<table width="80%" align="center" >
<tr><td height="5" colspan="2"></td></tr>
<%
while(rs.next()){
product_name = rs.getString("PRODUCT_NAME");
price = rs.getFloat("PRICE");
description = rs.getString("DESCRIPTION");
%>
<tr>
<td> 产品名称:<%=product_name%></td><td width="40%"> 报价:<span
style="color:#FF0000; font-style:italic;"></span></td>
</tr>
<tr>
<td colspan="2"> 描述:<%=description%></td>
</tr>
<tr><td height="5" colspan="2"><hr size="3" width="10%"/></td></tr>
<%
}
finally
{
if(rs !=null)
{
try
{
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(sm !=null)
{
try
{
sm.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(con !=null)
{
try
{
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
%>
</table>
<div align="center" class="tail">2010==本人版权拥有</div>
</body>
</html>
产生的错误:An error occurred at line: 56 in the jsp file: /Register/index.jsp
Generated servlet error:
D:\zzb\soft\Tomcat 5.0\work\Catalina\localhost\MyRegister\org\apache\jsp\Register\index_jsp.java:111: 'finally' without 'try'
finally
^
1 error
请帮我看看是怎么回事啊,怎么改呀,谢谢啦!!!感激不尽!!!
56行在finally上两行的 <% 处 展开
展开全部
finally是用做异常处理的最后一步。表示不管是否有异常都做这段代码。
语法
try{}
catch(Eception e){}
finally{}
次序不能错,不能少东西。
{}内的代码可以随便写
当try代码段抛出异常以后会被catch捕获。
然后再执行finally的代码。
缺一不可
语法
try{}
catch(Eception e){}
finally{}
次序不能错,不能少东西。
{}内的代码可以随便写
当try代码段抛出异常以后会被catch捕获。
然后再执行finally的代码。
缺一不可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
finally 没有和try/catch放在一起。
你看一下,你的try/catch,已经单独成块儿了,然后中间放了一些代码:
try{
Class.forName("com.mysql.jdbc.Driver").netInstance();
String url = "jdbc:mysql://localhost/mydb";
con = DriverManager.getConnection(url,"root","12345");
sm = con.createStatement();
rs = sm.executeQuery("select * from products");
}catch(...){
...
}
<你在这里加了一些代码以后...>
finally{
}
你应该能看出来了吧。你的finally没有跟在try/catch的后面,而是独立出来了,这种用法是不用的,必须保持:
try{
...
} catch (...) {
...
} finally {
...
}
这样子的格式。不允许在catch的大括号外面加了东西以后再写finally
:)
你看一下,你的try/catch,已经单独成块儿了,然后中间放了一些代码:
try{
Class.forName("com.mysql.jdbc.Driver").netInstance();
String url = "jdbc:mysql://localhost/mydb";
con = DriverManager.getConnection(url,"root","12345");
sm = con.createStatement();
rs = sm.executeQuery("select * from products");
}catch(...){
...
}
<你在这里加了一些代码以后...>
finally{
}
你应该能看出来了吧。你的finally没有跟在try/catch的后面,而是独立出来了,这种用法是不用的,必须保持:
try{
...
} catch (...) {
...
} finally {
...
}
这样子的格式。不允许在catch的大括号外面加了东西以后再写finally
:)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>注册登录系统首页</title>
<link rel="stylesheet" href="register.css" type="text/css" />
</head>
<%
String UserId = (String)session.getAttribute("user");
if(UserId == null || UserId == "")
response.sendRedirect("login.jsp");
String product_name ="";
float price;
String description ="";
Connection con = null;
Statement sm = null;
ResultSet rs = null;
try{
Class.forName("com.mysql.jdbc.Driver").netInstance(); //装载jdbc驱动
String url = "jdbc:mysql://localhost/mydb"; //定义数据库连接url
con = DriverManager.getConnection(url,"root","12345"); //获取数据库连接实例
sm = con.createStatement(); //获取Statement的实例
rs = sm.executeQuery("select * from products"); //执行查询语句,并返回给结果集
}
catch(Exception e){
e.printStackTrace();
}finally
{
if(rs !=null)
{
try
{
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(sm !=null)
{
try
{
sm.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(con !=null)
{
try
{
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
%>
<body>
<table width="80%" align="center">
<tr>
<td class="title">用户注册登录系统==<span class="title1">产品展示</span>==</td>
<td
style="width: 150; height: 20; vertical-align: middle; text-align: center;"><%=UserId%>
您好! <a href="login.jsp">登录</a> | <a href="logout.jsp">注销</a></td>
</tr>
</table>
<hr align="center" width="75%" color="#990000" size="1" />
<table width="80%" align="center">
<tr>
<td height="5" colspan="2"></td>
</tr>
<%
while(rs.next()){
product_name = rs.getString("PRODUCT_NAME");
price = rs.getFloat("PRICE");
description = rs.getString("DESCRIPTION");
%>
<tr>
<td>产品名称:<%=product_name%></td>
<td width="40%">报价:<span
style="color: #FF0000; font-style: italic;"></span></td>
</tr>
<tr>
<td colspan="2">描述:<%=description%></td>
</tr>
<tr>
<td height="5" colspan="2">
<hr size="3" width="10%" />
</td>
</tr>
<%
}
%>
</table>
<div align="center" class="tail">2010==本人版权拥有</div>
</body>
</html>
我修改过的 是个这个样子 try catch finally 是整体
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>注册登录系统首页</title>
<link rel="stylesheet" href="register.css" type="text/css" />
</head>
<%
String UserId = (String)session.getAttribute("user");
if(UserId == null || UserId == "")
response.sendRedirect("login.jsp");
String product_name ="";
float price;
String description ="";
Connection con = null;
Statement sm = null;
ResultSet rs = null;
try{
Class.forName("com.mysql.jdbc.Driver").netInstance(); //装载jdbc驱动
String url = "jdbc:mysql://localhost/mydb"; //定义数据库连接url
con = DriverManager.getConnection(url,"root","12345"); //获取数据库连接实例
sm = con.createStatement(); //获取Statement的实例
rs = sm.executeQuery("select * from products"); //执行查询语句,并返回给结果集
}
catch(Exception e){
e.printStackTrace();
}finally
{
if(rs !=null)
{
try
{
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(sm !=null)
{
try
{
sm.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(con !=null)
{
try
{
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
%>
<body>
<table width="80%" align="center">
<tr>
<td class="title">用户注册登录系统==<span class="title1">产品展示</span>==</td>
<td
style="width: 150; height: 20; vertical-align: middle; text-align: center;"><%=UserId%>
您好! <a href="login.jsp">登录</a> | <a href="logout.jsp">注销</a></td>
</tr>
</table>
<hr align="center" width="75%" color="#990000" size="1" />
<table width="80%" align="center">
<tr>
<td height="5" colspan="2"></td>
</tr>
<%
while(rs.next()){
product_name = rs.getString("PRODUCT_NAME");
price = rs.getFloat("PRICE");
description = rs.getString("DESCRIPTION");
%>
<tr>
<td>产品名称:<%=product_name%></td>
<td width="40%">报价:<span
style="color: #FF0000; font-style: italic;"></span></td>
</tr>
<tr>
<td colspan="2">描述:<%=description%></td>
</tr>
<tr>
<td height="5" colspan="2">
<hr size="3" width="10%" />
</td>
</tr>
<%
}
%>
</table>
<div align="center" class="tail">2010==本人版权拥有</div>
</body>
</html>
我修改过的 是个这个样子 try catch finally 是整体
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询