首先,我想告诉你,struts2是业务逻辑层的框架,怎么会用jdbc连接数据库?
连接数据库的是持久化层,也就是hibernate。
在纠正下,是连接池,不是数据池。。。。
hibernate可以配置数据库连接池,使用JNDI,JNDI就是java命名和目录接口。换句话说,你配置好一个连接池,通过命名和接口可以使用。就这么个意思。
<data sources>
<data source key= DataSource type= apache mons dbcp BasicDataSource >
<set property property= driverClassName value= mysql jdbc Driver />
<set property property= url value= jdbc:mysql://localhost: /struts _login />
<set property property= username value= root />
<set property property= password value= ihpp />
</data source>
</data sources>
配置了数据源后 就可以在Action中访问数据源了
代码如下所示
//获取Servlet上下文对象
ServletContext ctx = servlet getServletContext();
//获得数据源
DataSource ds = (DataSource) ctx getAttribute( DataSource );
//获取数据库的连接
Connection conn = ds getConnection();
B 修改Action
Action将取得数据源 得到一个数据库的连接 把页面传近来的用户名和密码 通过jdbc与数据库进行对比 如果存在转到 success jsp 并显示其名称 否则到错误页面
具体实现代码如下所示
public class LoginAction extends Action {
public ActionForward execute(ActionMapping actionMapping
ActionForm actionForm >
用你想用的方式- -
jsp获得action的数据的方式有很多~
其中获得属性的(有getter和setter)
${templatetitle[1]}<br><s:property value="templatetitle[0]"/><br>
<s:property value="#requesttemplatetitle[2]"/> <br>
这3种都可以 建议第二种
当然要求action里有template的getter/setter,
template里也要有title的getter/setter
但注意一点,虽然3种都能获得属性的值
但只有第二种方式是确定能获得属性而不是其他存储的同名值的
但只有第二种方式是确定能获得属性而不是其他存储的同名值的
但只有第二种方式是确定能获得属性而不是其他存储的同名值的
为什么这么说呢,第一种方式简直是万能的
可以获得 request > 属性 > ActionContext > session> application 里所存储的数据,
也就是你只要存储在任意一个里面, 不管request,还是session, 或者页面里你定义个变量- -
通过 ${name} 都能得到
但先后顺序就像上面所写的, 优先得request, 其次属性 依此类推
第二种方式,也可以取多种类型的存储
但优先取 属性 , 其次是ActionContext 所以可以确保能取属性
第三种方式
优先取request, 其次是属性, 其次是ActionContext
PS:补充一点 用struts标签,需要线taglib:
<%@taglib prefix="s" uri="/struts-tags" %>PS2:再补充一点, 具体有几种引用action数据的方法,可以看这
>
PS3:再补充一点点, struts2快要老死了, 建议SpringMVC
通过action 链接去访问
比方说你的链接是 listdo action应该会返回对应的List
然后再jsp上就可以通过jstl标签获得,赋值给js变量
或者通过struts标签获得 都是可以的
类似 <s:property value="OGNL表达式"/> 这样的
在js里可以直接这样写
var data=<s:property value="OGNL表达式"/>
再简单点的就是在onload方法中 用ajax访问 获得相关内容
以上就是关于struts2 jdbc 链接数据库全部的内容,包括:struts2 jdbc 链接数据库、Struts从零开始三、连接数据库实例[2]、struts2 前台如何获取后台的数组并单独取值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)