读书人

Struts2与数据源的运用注册

发布时间: 2012-09-03 09:48:39 作者: rapoo

Struts2与数据源的应用——注册

最近学习了Struts2,然后现在结合以前学过的Tomcat数据源实现一个注册程序。这里省略了一些部分,只写出部分重要代码,也算是一次总结吧。


首先、编写DAO:DAO是数据访问对象,封装了数据访问逻辑,当然这里为了简单起见把他们都写在了一个DAO类,并没有严格按照DAO的开发模式,比如DAO的接口类,DAO的真实主题类,DAO的代理类,数据库连接类,DAO工厂类,这是只是一个简单的UserDAO类。

查找数据源主要分三步:

1、初始化名称查找上下文:Context ctx = new InitialContext();

2、通过名称查找DataSource对象:DataSource ds = (DataSource)ctx.lookup(JDDI名称);比如java:comp/env/jdbc/test;红色部分是固定前缀,为了避免命名冲突。

3、通过DataSource取得一个数据库连接对象:Connection conn = ds.getConnection();

?

以上的代码还有一点要注意的是时间,注册时间是调用DAO是自动赋值的,但是要时间的类型是Timestamp,时间戳,这样可以获得精确的时间。

?

?

然后,配置数据源:在WebRoot/META-INF下新建context.xml配置数据源

?

几点说明:注意这里的name与DAO中用于查找数据DataSource对象的name,前面没有java:comp/env

auth是指容器负责资源的连接

type指明数据源对应的类型DataBase

?

接着编写Action类:这个Action调用了User 和UserDAO。当请求为/register!default.action到来时调用doDefault方法,进入注册界面,正在做具体工作时的是execute方法,这也是默认的。

几点说明:1、这里Action的属性为User,一定要为他添加setter与getter方法,以便JSP页面通过OGNL自动设置和访问User对象。

2、注意default.action请求可以访问的方法为default或doDefault。

?

最后修改配置文件struts.xml和web.xml

特别说明:中文乱码的解决方法,设置常量struts.i18n.encoding为GBK。

?

测试:http://localhost/LoginByStruts2/register!default.action

?

?

读书人网 >编程

热点推荐