Select components for Java web database application

I wish to produce a database application, written in Java, which will be used to provide use of database information to a pool of about 50 users. I want them to be able to use the application via their browser. Most users will be on an intranet but I want it to be accessible to a few outside the office via internet connection. In trying to plan this project,the more I've researched the problem, the more lost I've become between Apache- Tomcat- Java- JSP- Servlets- JNDI- JDC Connector- and my MySQL database. I know I need a more complex solution than JDO, but I'm really confused about what I need besides Apache server, Java, and the mySQL database. I know there is no single path but I'm makng little progress in choosing. If someone could outline a reasonable plan for this project, I think I could direct my own study more effectively. (I know this could have been done more simply with PHP and mySQL, but I want to use the opportunity to learn Java and OOP.)
Thanks for any help.
andemAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
eicheledConnect With a Mentor Commented:
If it were me :-)

I would use Tomcat (with or without Apache). If you are not serving a bunch of static content outside of your dynamically created data, there is not much gain in using both (and integrating them to work together can be a challenge).

I would use MySQL as a database (it's simple, free, and handles most things a basic end-user application might need).

I would use JSP. Tomcat and JSP go hand in hand, and JSP's are easier to write than servlets. In your JSP's you will produce the HTML that your end-users see based on the information from your DB.

To talk to the db (MySQL or whatever you choose) you will need JDBC (most DB's supply the necessary Java classes you need as a jar file) which you will need to use to allow your JSP's (which are being served by Tomcat) to talk to your db.

Just my $.02
0
 
Tommy BraasConnect With a Mentor Commented:
Apache is a pure webserver. Tomcat is a webserver and a JSP/Servlet container. Apache and Tomcat can be integrated, not recommended though. JNDI is used for lookingup services, I doubt you will need it for your project, but it is worth looking into. JDBC is used for connecting to databases (e.g. mySQL).

Plan:
1. Learn J2SE
2. Learn J2EE
3. Choose JSP/Servlet container based on your needs (you might even need an EJB container)
4. Plan, analyze and design your application
5. Deploy your application internally first, then externally

Any and all URLs in a web application can be password protected (user authentication and authorization).
0
 
andemAuthor Commented:
Thanks to both of you for your help.
Orangehead911, your succinct overview of the process reminds me of what a large task I've elected to take on and clearly delineates the broad path for me.
Eicheled, you have given me just what I wanted- a suggestion of specifically which of the myriad options I might use to accomplish this. I had thought that Tomcat had to be used as a part of Apache (the ignorance is deep!). I will definitely go the Tomcat route as almost all will be database driven dynamic content. I already have a MySQL database so there is no question there of what to use. I have downloaded  Connector/J from the MySQL site and plan to use JSPs based on your recommendation. Thinning out the forest so that I can actually see the trees is so helpful! I know I have a lot of work ahead but should now be able to approach it in a more efficient manner.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.