I took Java a long time ago, and now I'd like to apply for a job as an entry-level Java programmer.
To help my chances of getting hired, I'm writing a Java project. The code
1) reads the contents of a MySQL database (using JDBC),
2) displays the database contents in a web page (using JSP), and
3) lets the user type in the web page and click buttons, in order to add, modify or delete the database items.
I plan to put a link to that project in my resume.
The problem is, I've read that JSP has been replaced with JSTL, EL and REST web services. Is that right? Has JDBC been deprecated also?
If so, then I guess I'll have to learn those technologies, so that I'll be up-to-date, and then re-write my project to include the new technologies.
What should I learn first? Do I first have to learn Java Beans, then EL, then JSTL? Is REST independent of those three subjects?
Do you have any recommendations for books or online tutorials that I should read? Thank you.
JSTL and EL are both used in JSP pages. They aren't any sort of replacement for them. They are a fundamental part of using JSPs to display data, so you should learn them now as part of your project.
REST services are a different beast, as they are not necessarily used for browser apps. They work with anything set up to "talk" to them.
For example, a foreign exchange web service that supplies the exchange rate between two given currencies may be used to show that value on a forex web page, or may be used "behind the scenes" to convert a bill between currencies before giving the value to some other system.
JDBC is fine for what you are doing.
It's still at the heart of any Java interaction with a SQL database.
Since you are looking at an entry level role, and you want to work with Java, your current project sounds fine as a demo, but make sure you have it structured correctly.
But...make sure your JSP pages use EL/JSTL and don't have any Java code in them, and any calls to the server from the browser go to a servlet, which will then forward to the JSP page to display any results.
Be aware of REST, but don't worry about it until you have a nice project using the above structure.
What should you learn first? As always the answer is "it depends"
If you are more interested in the java programming side of things, then I would suggest catching up with the changes in the java language since you last touched it.
New Features & APIs etc.
I would also recommend you get acquainted with Spring and Spring boot. which have some quick start modules and examples.
JDBC is still there.
But must of the time I want to talk to a database I use an ORM tool like Hibernate to abstract away the JDBC code.
And Spring provides a nifty feature such that you annotate your bean, write an interface that extends a org.springframework.data.repository.Repository and you're done.
You don't actually end up writing any jdbc code at all.
And then check out a framework such as Angular or React.
In terms of this project, you could actually do both, which might also help you on the way to understanding how web applications have evolved.
#1 - Write back end java classes to load/save your data from your database. (spring boot data module)
#2 - Build a JSP/Servlet Web application with a form that lets you interact with the back end java code. (Spring MVC)
#3 - Write a REST web service that exposes the back end java code (spring-boot)
The bits provided in brackets are suggestions only to help 'automate' the work.
But personally I would be more impressed by a demo that utilized the frameworks out in the real world rather than having custom written java code behind them.