我写好了一个调用本地数据库文件的类,怎么样在jsp中调用并给予参数呢?

packageroom;importjava.sql.*;publicclassRoomView{StringRoomview(String[]tt){Stringa=n... package room;
import java.sql.*;
public class RoomView{
String Roomview(String []tt)
{
String a = null;
String data = "jdbc:odbc:room";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection(data,"user","aaa");
Statement st = conn.createStatement();
ResultSet rec =st.executeQuery(
"SELECT partment FROM RoomUser WHERE (mdate='"+tt[0]+"') AND (stime='"+tt[1]+"') AND (MeettingRoom='"+tt[2]+"')");
while(rec.next())
{
a = rec.getString(1);
}
st.close();
}catch(SQLException s){
System.out.println("SQL Error:" + s.toString()+" "+s.getErrorCode() +" " + s.getSQLState());
}catch(Exception e){
System.out.println("Error: "+ e.toString()+e.getMessage());
}
return a;
}
}

在jsp中有3个文本框——输入3的参数,然后用这个类调用参数并给出返回值。
求jsp 代码。
谢了啊
//qbqopen 请不要从其它地方随便拉一大段代码过来,而且还没有拉全!!分数烂掉也不给你

/*dadao3002 报错了,我的是tomcat6.0,版本有没有问题啊。
主要是我们领导的问题。。。3个从来没有接触过java的孩子,要我们4周把这个jsp 做出来,刚刚学完java的皮毛就做jsp了,呵呵。多谢各位费心了。*/

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

An error occurred at line: 5 in the jsp file: /test2.jsp
Generated servlet error:
tt cannot be resolved to a type

An error occurred at line: 5 in the jsp file: /test2.jsp
Generated servlet error:
RoomView cannot be resolved to a type

An error occurred at line: 5 in the jsp file: /test2.jsp
Generated servlet error:
RoomView cannot be resolved to a type
展开
 我来答
百度网友5195152
推荐于2016-06-16 · TA获得超过1164个赞
知道大有可为答主
回答量:1314
采纳率:0%
帮助的人:718万
展开全部
<html>
<head>
<title>JSP中使用 Java Bean的测试</title>
</head>
<body>
<jsp:useBean id="test" class="SimleBean" />
<jsp:setProperty name="test" property="message" value="Hello JSP"/>
<p>消息:
<jsp:getProperty name="test" property="message" />
</body>
</html>

解释:

<jsp:useBean id="test" class="SimleBean" />:表示定义一个java bean的实例,实例的名称是test,类的名称是SimleBean。
<jsp:setProperty name="test" property="message" value="Hello JSP"/>:表示设置实例test的属性message,其值是"Hello JSP"。
<jsp:getProperty name="test" property="message" />:表示在页面中输出实例test的属性message的值。

· test.jsp文件中用到的java bean 的代码SimpleBean.java如下:
package test;
//注意这里.好像一定要有包名,没有包我试过不行,SimpleBean.class连同父文件夹放在WEB-INF\classes\下面

public class SimpleBean
{
private String message;

public String getMessage()
{
return message;
}

public void setMessage(String message)
{
this.message = message;
}
}

1、 <jsp:useBean>

javaBean是特殊类型的java类,它与普通java类相比主要区别是包含了两种特殊的方法:set…(设置属性的方法)、get…(取属性值的方法)。
<jsp:useBean>动作用来查找或实例化一个jsp页面使用的JavaBeans组件。
在程序中可把逻辑控制、数据库操作放在javabeans组件中,然后在jsp文件中调用它,这样可增加程序的清晰度及程序的可重用性。

· 语法如下:

<jsp:useBean id="beanInstanceName"
scope="page | request | session | application"
class="package.claaa"
type="package.claaa"
other elements
/>

· 属性:

1) id="beanInstanceName"
用来绑定Bean实例的变量。
2) class|type="package.claaa"
表明该bean具体是对哪个类的实例化。
3) scope="page | request | session | application"
表示该bean的有效范围。
Page:实例的有效范围是当前页面。
Request:实例的有效范围是一个单独客户请求的生命周期内。
Session:实例的有效范围是整个用户会话的生命周期内。
Application:实例的有效范围是应用的生命周期内。

2、 <jsp:setProperty>

该动作的含义是使用bean中相应的set()方法设置一个或多个属性的值,值的来源是通过value属性明确给出,或者利用request对象中相应的参数。
假设某个bean有一个string类型的可被JSP文件使用的属性myProperty,则它必须有一个public方法setMyProperty(string value),<jsp:setProperty>动作使用的就是该方法。

· 语法如下:

<jsp:setProperty name="beanInstanceName"
property="*" | property ="propertyName"
value="具体的值"
/>

· 属性:

1) name="beanInstanceName"
这个属性是必须的,用来表明对哪个bean实例执行下面的动作,这个值和动作<jsp:useBean>中定义的id必须对应起来,包括大小写都必须一致。
2) property="*" | property ="propertyName"
这个属性是必须的,用来表示要设置哪个属性。如果property的值是"*",表示用户在可见的JSP页面中输入的全部值,存储在匹配的bean属性中。匹配的方法是:bean的属性名称必须与输入框的名字相同。
3) value="具体的值"
它用来指定bean的属性的值。

3、 <jsp:getProperty>

这个动作提取指定bean属性的值,转换成字符串,然后输出。该动作实际是调用了bean的get()方法。
按上文提到的某个bean有一个string类型的可被JSP文件使用的属性myProperty,它必须有一个返回类型为string的public方法getMyProperty()。<jsp:getProperty>使用的就是这个方法。

语法如下:

<jsp:getProperty name="beanInstanceName" property="propertyName"/>

· 属性:

1) name="beanInstanceName"
这个属性是必须的,用来表明对哪个bean实例执行下面的动作,这个值和动作<jsp:useBean>中定义的id必须对应起来,包括大小写都必须一致。
2) property="*" | property ="propertyName"
这个属性是必须的,用来表示要获取哪个属性。
prince小羽
2007-10-18 · TA获得超过396个赞
知道小有建树答主
回答量:271
采纳率:50%
帮助的人:187万
展开全部
你这样写就违背MVC的结构了 如果你想写纯的jsp页面
楼上的写法肯定是不对的
因为在MVC里JSP是不能包含java代码的。
你可以创建一个实体bean
把得到的结果封装到里面
然后用request.setAttribute("属性别名",实体bean对象);
然后在jsp网页中显示你保存的属性
然后你的业务逻辑直接写在连接类里也是不对的
学习java应该有分层的思想,不能都写在一起
虽然你这个程序写在一起没什么问题,但是如果是一个大型的项目,把连接类,业务逻辑都写在一起的话,维护起来十分不便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdzdcjh
2007-10-18 · 超过27用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:85.2万
展开全部
RoomView(String I[])
JSP端调用这个方法,输入一个字符型数组,得到查询结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BeiDu专业回答
2007-10-20 · TA获得超过119个赞
知道答主
回答量:402
采纳率:0%
帮助的人:0
展开全部
String Roomview(String []tt) //定义了一个查询数据库的方法
{
String a = null;
String data = "jdbc:odbc:room";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //调用连接驱动
Connection conn = DriverManager.getConnection(data,"user","aaa"); //获得连接对象
Statement st = conn.createStatement();//获得statement对象
ResultSet rec =st.executeQuery(
"SELECT partment FROM RoomUser WHERE (mdate='"+tt[0]+"') AND (stime='"+tt[1]+"') AND (MeettingRoom='"+tt[2]+"')"); //执行sql语句
//结果赋值给a
while(rec.next())
{
a = rec.getString(1);
}
st.close();
}catch(SQLException s){
System.out.println("SQL Error:" + s.toString()+" "+s.getErrorCode() +" " + s.getSQLState());
}catch(Exception e){
System.out.println("Error: "+ e.toString()+e.getMessage());
}
return a;
}
用html做个表单,jsp页面接收值用servlet就更好了,但是怕你不会就写jsp吧,html表单我就不写了jsp代码如下:
<%String tt[]=new tt[3];
tt[0]=request.getParameter("表单中第1个文本框的值");
tt[1]=request.getParameter("表单中第2个文本框的值");
tt[2]=request.getParameter("表单中第3个文本框的值");
RoomView rv=new RoomView();
String a=rv.Roomview(tt);%>
<P><%=a%></P>
把代码写在body里就可以了,以上代码没有经过测试,在网页里写的可能有错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d9f457eea
2007-10-18
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
非常简单,你就在你这段代码下面直接添上JSP代码就可以了。用form
最简单的办法就是用Dreamweaver ,直接拽控件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式