1

(2 відповідей, залишених у Java)

На офіційному сайті GlobalLogic є топ добірок книг для самонавчання, там до речі в них є свій безкоштовний курс
https://www.globallogic.com/ua/gl-educa … resources/

В основному я схильний дивитися відеонавчальні матеріали в Youtube та теребонькати документації в Oracle та інші

2

(2 відповідей, залишених у Java)

Я б радив користуватися Spring Boot
https://start.spring.io/

3

(2 відповідей, залишених у Java)

DianaSky написав:

Доброго дня. Вивчаю веб програмування мовою Java. Виникла невеличка проблема:
Є сторінка, на ній форма. Ворма відправляється в сервлет через JavaScript, і скрипт отримує відповідь.
сервлет

@WebServlet("/Reg")
public class Registration extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String name = request.getParameter("userName");
        String pasw = request.getParameter("pasw");
        Users u = new Users();
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try{
            /* TODO output your page here. You may use following sample code. */
            out.println("<form>\n");
            out.println("\t<div>"
                    + "<label><input type=\"text\" name=\"login\" value=\"" + name + "\" id=\"login\"/>");
            if(u.contains(name)){
                out.println("<style class='red'> такий нікнейм зайнятий</style></label></div>\n");
            }else{
                out.println("<style class='green'> такий нікнейм вільний</style></label></div>\n");
            }
            out.println("\t<div>"
                    + "<label><input type=\"tpasword\" name=\"pasw\" value=\"" + pasw + "\" id=\"pasword\"/>");
            if(pasw.length() < 6){
                out.println("<style class='red' id='psw'> короткий пароль</style>");
            }
            out.println("</label><button onclic='createPasword()'>Згенерувати пароль</button></div>/n");
            out.println("\t<div>"
                    + "<label><input type=\"text\" name=\"userName\" value=\"Петро\" id=\"name\"/>ім'я</label></div>\n");
            out.println("\t<div>"
                    + "<label><input type=\"text\" name=\"lastName\" value=\"Степанович\" id=\"lastName\"/>по-батькові</label></div>\n");
            out.println("\t<div>"
                    + "<label><input type=\"text\" name=\"family\" value=\"Степовий\" id=\"name\"/>прізвище</label></div>\n");
            out.println("\t<div>"
                    + "<label><input type=\"date\" name=\"date\" id=\"date\"/>Дата народження</label></div>\n");
            out.println("\t<div><p/>"
                    + "\t\t<input type=\"radio\" name=\"prava\" value='0'/> Гість\n"
                    + "\t\t<input type=\"radio\" name=\"prava\" value='1'/> Учень\n"
                    + "\t\t<input type=\"radio\" name=\"prava\" value='2'/> Вчитель\n"
                    + "\t\t<input type=\"radio\" name=\"prava\" value='3'/> Модератор\n"
                    + "\t\t<input type=\"radio\" name=\"prava\" value='4'/ onclic='adminPaswordEntered()'> Адміністратор\n"
                    + "\t</div>"
            );
            out.println("\t<div id='admin'>"
                    + "</div>\n");
            out.println("\t<div></div>");            
            
            out.println("</form>");   
        }finally{
            out.flush();
            out.close();
        }
    }
//bla-bla-bla
}

Робочий скрипт

function registr(){
    let url = "/Reg";
    let body = "userName=" + document.getElementById("name").value +
            "&pasw=" + document.getElementById("pasword").value;
    let req = new XMLHttpRequest();
    req.open("POST", url, true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req.onreadystatechange = function(){
        if (req.readyState == 4 && req.readyState == 200) {
            regForm(this);
        }
    };
    req.send(body);
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <servlet>
        <servlet-name>Start</servlet-name>
        <servlet-class>Start</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>Registration</servlet-name>
        <servlet-class>Registration</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Start</servlet-name>
        <url-pattern>/Start</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Registration</servlet-name>
        <url-pattern>/Reg</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

при запуску кидається 404-еророю

Failed to load resource: the server responded with a status of 404 () (12:26:30:865 | error, network)
  at http://localhost:8080/Reg

Чому так відбувається?

Дякую за допомогу.

https://www.digitalocean.com/community/ … -rewriting

4

(10 відповідей, залишених у Java)

Доброго дня, хочу поділитися посилання до відеоматеріалів та навчальний посібник мов java

Youtube плейлист на укр: https://youtube.com/playlist?list=PLjjs … Xj1K1caUcN

Список навчальний посібник:
1. Java програмування. Компютерний практикум. 95 ст. 2021 р. Тарнавський, Юрій Адамович
2. Об’єктно орієнтоване програмування на Java. Конспект лекцій з дисципліни «Об’єктно орієнтоване програмування» для студентів спеціальностей 121 – «Програмна інженерія», 123 – «Комп’ютерна інженерія». /Укл.: Бивойно П.Г. – Чернігів: ЧНТУ, 2019. – 136 с.

Онлайн тренажер:
https://www.codechef.com/learn/java

5

(16 відповідей, залишених у Обговорення)

Droid 77 написав:

Для ОС Android можливе написання програм мовами:

  • Java

  • Kotlin

  • C++

Можливо хтось ще якісь мови підкаже.

C#.NET в Visual Studio 2022 з технологією Xamarin або MAUI можна написати мобільний додаток під Android чи навіть iOS, а також інші крос платформи