struts中从xml中取得数据库连接
struts-config.xml配置文件中的数据源设置如下:
<data-sources>
<data-source key="dataSource">
<set-property property="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
<set-property property="url"
value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=lianxi" />
<set-property property="username" value="sa" />
<set-property property="password" value=""/>
</data-source>
</data-sources>
用的的数据驱动jar文件已经放到lib目录下,之后我在action类中如下调用:
public class aaAction extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse) throws Exception {
String username=(String)((aaActionForm)actionForm).getName();
try{
DataSource dataSource=getDataSource(servletRequest,"dataSource");
Connection con=dataSource.getConnection();
dbdao dd=new dbdao(con);
dbaa da=new dbaa();
da.setName(username);
dd.ins(da);
return (actionMapping.findForward("success"));
}
catch(Exception e){
throw new RuntimeException(e.getMessage());
}
}
}
为什么老是报告找不到数据源呢。然而,我用类写的连接数据库的方式,是行的通的,可是一把连接
放到struts-config.xml文件中就不行了。真郁闷。
问题点数:20、回复次数:4Top
1 楼mmjj20011110(小毛)回复于 2005-04-13 20:03:01 得分 20
<data-source key="dataSource" type="">
在TYPE里面指明类路径试试。
Top
2 楼mmjj20011110(小毛)回复于 2005-04-13 20:10:52 得分 0
"我写了个简单的struts的程序,所有的文本等信息都是从resource bundle也就是从.properties文件中提取出来的,他已经支持国际化了"
是楼主发的帖子吧?想学习一下你的这个程序!能给我发一份源码吗?最好有注解 :)
resource bundle
.properties
这个我一点都不知道,想学习一下。可以吗?
mmjj20011110@yahoo.com.cn
谢谢!Top
3 楼kuerne(学学)回复于 2005-04-13 20:12:48 得分 0
<data-source key="dataSource" type="">
里边的type什么意思啊,不是driverClassName吗。不是在属性里已经有了吗。还要另外写个类吗。
=================
我说的是用类写的连接数据库,是我自己写了个类,然后,action类文件引入这个连接数据库的文件,建立的数据库连接,而进行操作。。这里,如果,不用我自己写的连接数据库的类文件,把数据库连接放到xml文件中设置,具体该怎么设置啊,楼上的朋友能贴段代码吗,顺便贴写如何在action里取得数据库连接。。拜托,分不够,我再加啊。Top
4 楼kuerne(学学)回复于 2005-04-14 17:24:25 得分 0
dataSource是数据源名称,
struts-config.xml如下片段:
<struts-config>
<data-sources>
<!-- configuration for commons BasicDataSource -->
<data-source key="dataSource" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<set-property property="url" value="jdbc:oracle:thin:@10.0.0.2:1521:zy"/>
<set-property property="username" value="zy"/>
<set-property property="password" value="zy"/>
<set-property property="maxActive" value="100"/>
<set-property property="maxWait" value="1000"/>
<set-property property="defaultAutoCommit" value="false"/>
<set-property property="defaultReadOnly" value="false"/>
<set-property property="validationQuery" value="SELECT COUNT(*) FROM tabs"/>
</data-source>
</data-sources>
我查了下资料需要指定个type,可是我指定了
type="org.apache.commons.dbcp.BasicDataSource"为什么这里边的org老是报红色下划线的错误呢。
是不是这个类,在struts中没有,要另外加进去啊。。我刚接触struts没几天,还再望路过的朋友再指点一下。Top




