- Saved searches
- Use saved searches to filter your results more quickly
- License
- axboot/ax-boot-framework
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- Java web application stack
- Инициализация проекта
- Request Params
- Path Variable
- HTTP-методы
- Реализация основных методов
- GET-запрос: получение пользователей
- PUT-запрос: обновление списка постов пользователя
- DELETE-запрос: удаление пользователя по username
- Материалы по теме
- The Ultimate Guide for Developing a Full Stack Java Web Application with Spring
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Full Stack Java Web Application Framework with Java & HTML5
License
axboot/ax-boot-framework
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Full Stack Web Development Framework
Full Stack Web Application Development Framework
AXBoot makes it easy to build web applications with Java & HTML5 Repeatable and noise development process are resolved by AXBoot. Furthermore, AXBoot provides the Layout system, Web UI Components, Prebuilt Common Business Service, so you can concentrate on your business. Develop enterprise web applications fast as never before with AXBoot Framework
AXBoot Project Initializer (like Spring Initialzr)
AXBoot Documentation (now, Korean only)
AXBoot UI Framework Documentation (now, English only)
AXBoot Facebook User Group (Q&A or Communication)
Web Application Server |
---|
Servlet 3.0+ Spec WAS(Tomcat 7.x+, JBoss EAP 7, Wildfly 8+, WebLogic 12c+, WebSphere 8+, JEUS 7+) |
Web Browser | Web Server | Java |
---|---|---|
IE9+, Chrome 32+, Opera 2014+, Safari 7+, Firefox 32+ | Whatever you want(Nginx, Apache, etc) | JDK 1.8.0+ |
Database | Test |
---|---|
H2 1.4+ | Tested(Default Embdded) |
MySQL 5.5+ | Tested |
MariaDB 5.5+ | Tested |
MSSQL | will be soon |
Oracle | will be soon |
PostgreSQL | will be soon |
- Git (required)
- Lombok (required)
- Gulp (required)
- NPM (required)
- Local Maven (optional, provided maven wrapper in generated project)
Framework provides HTML5, Javascript based 17+ HTML5 components (including GRID, Selector, Toast, Calendar.. etc) and layout system.
Back-end Framework provides fast and flexible Java & Spring based web development environment.
AXBoot is the framework that provides A to Z Web Development solutions.
provides 10 most popular layouts used on Web UI. Grid, Selector, and form are built into the layout section, and when a user develops UI based on a given sample format, UI could be completed in as quickly as 10 minutes.
Theme selection allows a user to change look and feel, as well as allowing the user to fine tune specifics of the UI.
No need to add any other dependency to design the Web UI.
Adapt the platform to your needs with unrestricted access to low level code, wide use of the open inheritance pattern and the unique Extensions feature.
No Restricted Development Environment
Environment, User-Friendly IDE can be used.
AXBoot Initialzr provides a complete form of Application Source Set and a user can start the server by importing a downloaded IDE then using spring-boot:run command.
A user can easily materialize CRUD Logic with CRUD scaffolding tool.
provides high quality documentation along with Korean version documents for Korean developers. In addition, the most adequate practices are provided based on case studies, this allows the users to solve problems that may occur during business application development.
Easy to Expand in parallel and processing large scale traffic with fine-tuning database pooling, data caching option and resource optimization.
An up-to-date slow business logic and slow query can be detected and aggregated in Error Log, while aggregated data can be send through email, texting, messenger, Webhook and, etc.
The system has been proven, and its impressive portfolio includes list of large enterprise system usage including:
- Incheon Airport POS Concession System (Over 1 million times used per day, 25TPS)
- DAELIM Corporation Global Logistics Management System
- JTNET Van Administration System
- Suseo High Speed Railway Concession System
There is clear separation between View and API. HTTP and JSON(RESTful API) are used for transmission, ensuring effective coding expansion and maintenance.
By utilizing MVC’s Layer Architecture, role and logic have been cleared defined from layer to layer. That allows a user to expand and fix an error through coding quickly.
Zero Downtime Deployment has been made possible through Customized Jenkins and Ansible which is fully compatible with AXBoot. This allows the system to quicken the code lifecycle which makes high number of distribution possible.
Project Creation & Build & Run
UI Framework Introduction
Java web application stack
Архитектура современных приложений состоит из отдельных модулей, как показано на рисунке выше. Эти модули часто называют Frontend и Backend. Frontend – это модуль, который отвечает за юзер-интерфейс и логику, которые предоставляется приложением при использовании. Так, например когда мы заходим в соцсети через браузер, мы взаимодействуем именно с FrontEnd-модулем приложения. То, как отображаются наши посты в виде сторисов или карточек, сообщения и другие активности реализуются именно в FrontEnd-модуле. А все данные, которые мы видим, хранятся и обрабатываются в Backend или серверной части приложения. Эти модули обмениваются между собой посредством разных архитектурных стилей: REST, GRPC и форматов сообщений – JSON и XML.
В этой статье мы напишем примитивную серверную часть социальной сети с использованием Spring Boot, запустим свой сервер, рассмотрим разные типы HTTP запросов и их применение.
Необходимое требование к читателю: умение писать на Java и базовые знания Spring Framework. Данная статья познакомит вас со Spring Boot и даст базовые понятия данного фреймворка.
Инициализация проекта
Чтобы создать Spring Boot проект, перейдем на страницу https://start.spring.io/ и выберем необходимые зависимости: в нашем случае Spring Web. Чтобы запустить проект, необходима минимальная версия Java 17. Скачиваем проект и открываем в любом IDE (в моем случае – Intellij Idea)
Spring Web – зависимость, которая предоставляет контейнер сервлетов Apache Tomcat (является дефолтным веб-сервером). Проще говоря, сервлеты – это классы, которые обрабатывают все входящие запросы.
Открываем проект и запускаем.
Мы видим, что проект запустился и готов обрабатывать запросы на порту 8080 – Tomcat started on port(s): 8080 (http) .
Теперь создадим свой первый класс – GreetingController . Controller-классы ответственны за обработку входящих запросов и возвращают ответ.
Чтобы сделать наш класс Controller , достаточно прописать аннотацию @RestController . @RequestMapping указывает, по какому пути будет находиться определённый ресурс или выполняться логика.
Если отправить запрос по адресу http://localhost:8080/ , мы получим ошибку, т. к. по этому пути не определены логика обработки запроса и ресурсы.
🧩☕ Интересные задачи по Java для практики можно найти на нашем телеграм-канале «Библиотека задач по Java»
Request Params
При отправке запросов мы часто используем переменные в запросе, чтобы передавать дополнительную информацию или же делать запросы гибкими. Параметр в запросе передаётся в конце адреса ( =url ) сервера и указывается после вопросительного знака ( =? ).
Например, http://localhost:8080/greet?name=Alice . Параметр запроса является = name cо значением = Alice .
Чтобы обрабатывать переменную запроса, используется аннотация @RequestParam . Параметры запроса могут быть опциональными или же обязательными. @RequestParam(«name») означает следующее: взять ту переменную из запроса, название которого равно name .
Вдобавок, запрос может содержать несколько параметров.
Например, http://localhost:8080/greet/full?name=John&surname=Smith . Параметры выделяются знаком & . В этом запросе два параметра: name=John и surname=Smith .
Чтобы обработать каждый параметр запроса, нужно пометить каждую переменную @RequestParam .
Path Variable
PathVariable по применению похож на @Request Param . @PathVariable также является параметром запроса, но используются внутри адреса запроса. Например,
RequestParam – http://localhost:8080/greet/full?name=John&surname=Smith
PathVariable – http://localhost:8080/greet/John . В этом случае John является PathVariable.
В запросе можно указывать несколько PathVariable, как и в случае RequestParam
Запрос с двумя параметризованными PathVariable.
HTTP-методы
Когда мы говорим о запросах, мы также подразумеваем HTTP-метод, который используется при отправке этого запроса. Каждый запрос представляет собой некий HTTP-метод. Например, когда мы переходим в браузере по адресу http://localhost:8080/greet/John/Smith , наш браузер отправляет GET-запрос на сервер.
Большая часть информационных систем обмениваются данными посредством HTTP-методов. Основными HTTP-методами являются – POST , GET , PUT , DELETE . Эти четыре запроса также называют CRUD-запросами.
- POST-метод – используется при создании новых ресурсов или данных. Например, когда мы загружаем новые посты в соцсетях, чаще всего используется POST-запросы. POST-запрос может иметь тело запроса.
- GET-метод – используется при получении данных. Например, при открытии любого веб-приложения, отправляется именно GET-запрос для получения данных и отображения их на странице. GET-запрос не имеет тела запроса.
- PUT-метод – используется для обновления данных, а также может иметь тело запроса, как и POST.
- DELETE-метод – используется для удаления данных.
Реализация основных методов
Давайте создадим сущности и реализуем методы, чтобы наш сервер принимал все четыре запроса. Для этого создадим сущности User и Post , и будем проводить операции над ними.
Для простоты User имеет только два поля: username и список постов posts , а сущность Post имеет поле description и imageUrl .
GET-запрос: получение пользователей
PUT-запрос: обновление списка постов пользователя
DELETE-запрос: удаление пользователя по username
В этой статье мы рассмотрели архитектуру современных web-приложений, а также написали свою серверную часть приложения, получив поверхностные знания по Spring Boot , HTTP запросы и параметры запросов.
Материалы по теме
The Ultimate Guide for Developing a Full Stack Java Web Application with Spring
In this article, we will go through the development of a full stack java web application using the Spring framework: a very simple online bookstore. First of all, we will set up our development environment. Next, we will build our data model which is going to be used by Spring to generate our database. After that, we will implement a controller to retrieve our data from the database, and finally we will use Thymeleaf to format the data, and the built-in Tomcat server to serve the data to the client.
The Spring framework is widely used in industry to develop all kind of web applications. Some companies use it to develop their backend only while others adopt it for both their backend and frontend. In this tutorial, we will explore how to write a full stack web application for a bookstore in Java using the Spring framework. This application will allow users to connect to a server and retrieve details about books. So without further ado, let’s start by setting up our development environment.
Setting up the Development Environment
To start implementing Java applications, you will need the Java Development Kit installed on your development and runtime environments. You can download the JDK 1.8 or later from the official website.
Next, you will one of the following two build tools:
In this tutorial, we will go with Maven. This choice is completely arbitrary, you can achieve the same results with both tools. Gradle and Maven are build automation tools used primarily for Java projects. So every time you want to compile and launch your Spring project, these tools will resolve all dependencies, compile your code and package it. If you want to learn more about Gradle or Maven you can refer to their very well written official documentation.
The last thing you will need is an IDE. For Java, I recommend you use IntelliJ IDE. You can download it from the JetBrains official website. You can also use other IDEs like Eclipse or NetBeans that work very well with Java.
Now that we have all the necessary tools, let’s start by creating our project.