I and my friend are starting aur project based on java .
We are planning to create a java based forum software . But we are confused to wheather make it a app on windows communicating a DB server ...Or to make it based on serverlets/jsp etc (somthing like vbulltein / phpbb etc).

Could you suggest which Java tech(hope i am using the right term) would be useful in achieving our aim.

we both have just started JAVA.(he is certifeid oracle db admin....so do suggest something compatiable with oracle db , though i am comfortable with php and mysql).

Dani AI

Generated

A few pragmatic notes to complement the excellent replies from , and — focus first on a small, testable slice that teaches core Java, networking and Oracle DB skills rather than trying to reproduce all features of a mature forum.

An easy, future-proof split is: a small HTTP/JSON service (server-side) plus a desktop client written in JavaFX. The API-first approach keeps the server reusable (web, mobile or desktop clients later) and makes automated testing straightforward. JAX-RS (Jakarta REST) is the standard way to expose lightweight REST endpoints in Java; OpenJFX is the current home for JavaFX client tooling. (jakarta.ee)

Keep the domain model tiny to start: users, threads, posts, plus a simple permissions/roles table. Build endpoints for create/read/list (with pagination) and a separate endpoint for attachments. Persist with Oracle via a DataSource and use connection pooling so the app behaves under load. Index the common lookup columns (thread_id, user_id, created_at) and use transactions for multi-step operations (e.g., create-post + update-thread). A minimal JSON create-post payload might look like:

{
  "threadId": 42,
  "authorId": 7,
  "body": "Short, plain-text or markdown content",
  "createdAt": "2026-01-10T14:00:00Z"
}

Use Oracle's JDBC DataSource APIs and a modern pool (HikariCP is lightweight and high‑performance) rather than opening raw connections per request. That reduces latency and connection churn when multiple clients talk to the central DB. (docs.oracle.com)

Security and scope: store passwords with a modern slow hash (Argon2id or bcrypt for legacy), always use prepared statements, validate and escape all user input, and rate-limit write endpoints; OWASP has concise guidance on password storage and common web risks. Deliver in increments: wire endpoints first, then a minimal JavaFX client that consumes them, then add features (search, moderation, attachments). This keeps the project manageable while teaching the right production patterns. (cheatsheetseries.owasp.org)

Recommended Answers

All 4 Replies

A lot depends on where you may want to go afterwards. If you see a career in enterprise Java then go with EE-specific technogies like servlets and jsp. On the other hand if you just want to improve yur general Java and programming skills then build something using Java SE and get your hands dirty with sockets, threads and JDBC.
For the SE approach I would suggest a Java server that manages the oracle database-related stuff, and clients that use Sockets to talk Java-Java with the server. (But there are many alternative architectures; other people may have different opinions.)

A forum software is almost always a server-side web application which runs on a servlet container (Tomcat, Jetty) and is powered by a view technology like raw JSP's or JSF. As far as suggestions go, it really depends since the web-development landscape is pretty much saturated with a lot of technologies. One way would be to go the raw JSP route which is a bit painful/verbose and is as primitive as it gets (Servlets are not really a view technology).

If you are doing it for fun/learning, then going the JSP way would teach you a lot of things. If you are doing it with the intent of making it big with your software, using a framework is pretty much a requirement to shorten the time-to-market. There are three big/famous ones which come to mind:

Like any other technology out there, you'll have to play with a bunch of frameworks to understand which one is a perfect fit for you. Unfortunately, there is no easy way out and picking up a forum software as your first software is a tough nut to crack IMHO especially if you are new to Java. Good luck.

@ thank you ~s.o.s~ But could you suggest techs if we want to create a say windows app communicating with a central server , since we are doing this as our minor project and with a intention to learn basics of java .( we cant change our topic as we already submitted the report :P).

Hate to say this but this really isn't a minor project anymore with a desktop GUI front end which needs to simulate a forum view and having a server as a central authority. :)

Anyways, if it needs to be a simple college project, there isn't a lot of variation here. The GUI needs to be in stock Swing. In terms of server, there are three options:

  • Raw socket; will surely be a pain since you need to write the entire infrastructure right from receiving requests, saving stuff in database and sending across response
  • RMI; a bit involved to set up but will expose your server code as a simple service which can be called using simple Java style method invocation
  • JBoss remoting; third-party RMI like features but is a bit more easier to set up

I would personally go with RMI unless you have a restriction of not using any abstraction and doing it via raw sockets.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.