This question has already been answered:

Good day.

I wanted to ask where to start, what would write a simple Web - application in Java?

Just when I was interested in this question, I didn’t even know where to start. Everyone advises different frameworks, different names, and I do not understand this yet. It is also advisable to suggest something similar related to the database.

Reported as a duplicate by Saidolim , korytoff , YuriSPb , PashaPash , Sergey Rufanov on Dec 24 '15 at 19:22 .

A similar question was asked earlier and an answer has already been received. If the answers provided are not exhaustive, please ask a new question .

  • one
    Here you will be advised by "different frameworks, different names." And you do not understand this, with your own words. So what are you hoping for? Maybe look at what you have already been advised? - a_gura
  • I mean, where to start? A bunch of different names and it is absolutely incomprehensible where to start, and what you need to study with some sort of knowledge base - Drylozav

5 answers 5

Well, no, it's not worth starting with frameworks.

We must start from the base (it is clear that you should already know the word java - data types, collections, streams ...):

1) Servlet Container

2) JSP, jstl

3) That's after this you can framework

As an application server, tomcat is best used; it is most often used (from OpenSource AppServer's) in enterprise.

Well, before all this you need to confidently own HTTP (response codes, headers, caching, redirects, commands: POST, GET, PUT, DELETE, and finally be able to send via telnet HTTP)

The base is probably the best option for the first time is H2 (installation is unnecessary, simply connect the driver and specify the jdbs url)

  • > As an application server, best of all tomcat Tomcat does not implement the entire EE specification and cannot be considered an application server. For example, Tomcat is included in JBoss only as a web container. - wwvv

The first thing I remembered:

  1. Spring Boot - nowhere is easier, as it seems to me: configuration via annotations, lack of XML-configs and long configuration of POM (maven), quick start. It seemed to me still damp, but for training or something not complicated - it will do. A bunch of samples, excellent documentation, lots of books and articles.
  2. Play Framework - a fairly low entry threshold, simple training, but I would not use it for something serious.
  • Tell me, would you recommend a JSP to a beginner? Because I realized that web applications can be done using it. - Drylozav
  • one
    You can start with jsp as there is also little difficult especially at the beginning. The page is a mix of Java code and html. as an option you can servlets + pure html+js - jmu

You can create a quick app on Spring Roo

Spring Roo allows you to quickly create a skeleton application and modify it to your liking. Necessary knowledge of Spring.

An example of creating on the main page of the project

    My answer is simple: JSF + Hibernate

      The easiest Java web framework is Struts - it is not weighted by all sorts of delights like the same Spring and at the same time is quite powerful.

      With regards to the database - you need to look at the de facto industrial standard Hibernate - this is one of the must know

      A bunch of Struts-Hibernate is a normal, workable industrial thing. Where many apply.

      Update

      By discussion, in particular @Drylozav writes:

      Tell me, would you recommend a JSP to a beginner? Because I realized that web applications can be done using it.

      JSP / Servlet is like building blocks. JSP higher level than Servlet. If Servlet is conditionally speaking, these are bricks, then JSP is like wall blocks, and the framework is an architectural concept.

      Say:

      • Spring is based on the AOP concept (and not only);
      • Struts is based on the simplest implementation of the MVC concept;
      • Hibernate implements the concept of POJO (Persistent Object Java Object or Plain Old Java Object) - in fact, in understanding Hibernate SQL, the table corresponds to the Java class, and writing a Java object / bin to it;
      • etc.

      Roughly speaking, no matter how you write, you will still have to follow the concept laid down in the framework of the chosen framework - this is the essence of using the framework.