如何使用 Wicket 创建首次启动向导? (数据库表创建等)

发布于 2024-09-10 14:23:24 字数 508 浏览 7 评论 0原文

我正在使用 Wicket、Spring 和 Hibernate 开发 Java Web 应用程序。 Web 应用程序并不是特别大(我有一个 DAO 和一项服务),但我想为部署该应用程序的用户提供一个启动向导,就像 Wordpress 中的启动向导一样。

当第一次访问网页时(没有创建数据库表/没有用户),我希望用户能够输入数据库设置(用户名、密码、数据库名称、数据库类型),然后我希望 Web 应用程序创建它将使用的所有表。

由于我是 Wicket 和 Java Web 开发的新手,我不确定如何实现这一目标。通常,当与 DAO 交互(例如创建用户)时,数据库表是按需创建的(如果它尚不存在)——至少在我看来是这样的。

有没有办法提取我的应用程序将通过 service->DAO 层使用的 mye 域对象的 SQL?

现在我通过过滤器配置数据库访问;例如 src/main/config/application-DEV.properties。如果我想使用所描述的向导,我想我需要放弃使用属性文件?

非常感谢任何帮助。

I'm working on a Java Web Application with Wicket, Spring and Hibernate. The web application is not particularily large (I have one DAO and one service), but I'd like to offer the users that deploy the application a startup wizard much like the ones found in Wordpress.

When the webpage is accessed for the first time (no database tables are created / no users), I want the user to be able to enter database settings (username, password, database name, database type) and then I want the web application to create all the tables that it will use.

As I'm new to Wicket and Java Web Development I'm not sure how one would go about achieving this. Usually, when interacting with the DAO (such as creating a user) the database table is created on demand (if it didn't already exist) -- at least that's what it looks like to me.

Is there a way to extract the SQL for mye domain objects that my application will use via the service->DAO layer?

Right now I configure database access via filters; src/main/config/application-DEV.properties for example. If I want to use a wizard such as described I guess I would need to move away from using property files?

Any help is greatly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

亚希 2024-09-17 14:23:24

我经常考虑这一点,因为它是许多 PHP / Perl 系统中的标准做法,但在 java / spring 等中似乎很复杂。

首先:使用 wicket-extensions 向导功能

然后我要做的很简单,我会声明我所有的 spring beans 作为惰性并使用系统属性来配置它们(使用 PropertyPlaceHolderConfigurer)。我会使用向导第一次获取这些属性,然后将它们写入文件系统中的众所周知的位置(数据库会更好,但这是一个先有鸡还是先有蛋的问题)。然后我将使用系统属性初始化应用程序上下文。

这里的问题是:我认为没有一种可移植的方式从 Web 应用程序访问文件系统,我认为每个应用程序服务器可能会以不同的方式处理文件系统访问,因此您需要小心。

I have often contemplated this, as it is standard practice in many PHP / Perl systems, but seems complicated in java / spring etc.

First of all: use wicket-extensions for the wizard functionality

What I would do then is simple, I'd declare all my spring beans as lazy and use system properties to configure them (with a PropertyPlaceHolderConfigurer). I'd use the wizard to get those properties the first time and then write them to a well-known location in the file system (DB would be better, but that's a chicken / egg problem). Then I'd initialize the application context using the system properties.

The problem here is: I don't think there is a portable way to access the file system from a web application, I think every app server may handle file system access differently, so you need to be careful there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文