Java Форма сообщения сервлета. Выпуск: getParameters () возвращает нулевые значения. - PullRequest
0 голосов
/ 08 апреля 2020

Я новичок здесь, а не носитель английского языка sh Динамик :). Итак, я запрограммировал форму, которая отправляла простые значения с помощью метода post в java сервлете. Сначала он работал с request.getParameter (), я не знаю, что я сделал, но он больше не работает.

package servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//import services.*;

//import org.json.JSONException;
//import org.json.JSONObject;

public class Authentification extends HttpServlet{

    public void doGet(HttpServletRequest req, HttpServletResponse res) throws  ServletException, IOException {
        res.setContentType("text/html");
        PrintWriter writer = res.getWriter();

        writer.println("<h1>Bienvenue sur notre nouveau site WEB</h1>");
        writer.println("<body>");

        //Form
        writer.println("<form action="+"Authentification"+" method="+"post"+" class="+"form"+">");

        //login
        writer.println("<div class="+">");
        writer.println("<label for="+"login"+">Login:");
        writer.println("<input type="+"text"+" name="+"login"+"/>");
        writer.println("</label>");
        writer.println("</div>");

        //password
        writer.println("<div class="+">");
        writer.println("<label for="+"pwd"+">Password:");
        writer.println("<input type="+"text"+" name="+"pwd"+"/>");
        writer.println("</label>");
        writer.println("</div>");

        //button form
        writer.println("<div class="+"button"+">");
        writer.println("<button type="+"submit"+" name="+"button_connexion"+" value="+"Se_connecter"+">Connexion</button>");
        writer.println("</div>");
        writer.println("</form>");

        //aller sur le lien de l'inscription
        writer.println("<a href="+"/ProjetWeb2020/Inscription"+">T'es nouveau?Par ici l'inscription</a>");
        writer.println("</body>");


    }

    public void doPost(HttpServletRequest req, HttpServletResponse res) throws  ServletException, IOException {
        res.setContentType("text/html");
        PrintWriter writer = res.getWriter();

        String login, pwd;

        login=req.getParameter("Login");
        pwd=req.getParameter("Pwd");

        if(login==null && pwd==null){
            writer.println("<h1>Not good!</h1>");
        }
        //JSONObject obj=services.Authentification.loginUtilisateur(login, pwd);

        writer.println("<h2>login is:"+login+"</h2>");
        writer.println("<h2>pwd is:"+pwd+"</h2>");
    }
}

И результат, которого я больше не хочу.

введите описание изображения здесь

Я с удовольствием отреагирую на любой ответ:)

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Итак, спасибо всем, и особенно Свати за решение. Да, проблема как опечатка в "backsla sh".

Я даю вам правильный код:

package servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//import services.*;

//import org.json.JSONException;
//import org.json.JSONObject;

public class Authentification extends HttpServlet{

    public void doGet(HttpServletRequest req, HttpServletResponse res) throws  ServletException, IOException {
        res.setContentType("text/html");
        PrintWriter writer = res.getWriter();

        writer.println("<h1>Bienvenue sur notre nouveau site WEB</h1>");
        writer.println("<body>");

        //Form
        writer.println("<form action="+"\"Authentification\""+" method="+"\"post\""+" class="+"\"form\""+">");

        //login
        writer.println("<div class=\" \">");
        writer.println("<label for="+"\"login\""+">Login:");
        writer.println("<input type="+"\"text\""+" name="+"\"login\""+"/>");
        writer.println("</label>");
        writer.println("</div>");

        //password
        writer.println("<div class=\" \">");
        writer.println("<label for="+"\"pwd\""+">Password:");
        writer.println("<input type="+"\"text\""+" name="+"\"pwd\""+"/>");
        writer.println("</label>");
        writer.println("</div>");

        //button form
        writer.println("<div class="+"\"button\""+">");
        writer.println("<button type="+"\"submit\""+" name="+"\"button_connexion\""+" value="+"\"Se_connecter\""+">Connexion</button>");
        writer.println("</div>");
        writer.println("</form>");

        //aller sur le lien de l'inscription
        writer.println("<a href="+"/ProjetWeb2020/Inscription"+">T'es nouveau?Par ici l'inscription</a>");
        writer.println("</body>");


    }

    public void doPost(HttpServletRequest req, HttpServletResponse res) throws  ServletException, IOException {
        res.setContentType("text/html");
        PrintWriter writer = res.getWriter();

        String login, pwd;

        login=req.getParameter("login");
        pwd=req.getParameter("pwd");

        if(login==null && pwd==null){
            writer.println("<h1>Not good!</h1>");
        }
        //JSONObject obj=services.Authentification.loginUtilisateur(login, pwd);

        writer.println("<h2>login is:"+login+"</h2>");
        writer.println("<h2>pwd is:"+pwd+"</h2>");
    }
}

И синтаксис страницы html: (вы можете проверить древний html код в моих предыдущих комментариях)

<h1>Bienvenue sur notre nouveau site WEB</h1>
<body>
<form action="Authentification" method="post" class="form">
<div class=" ">
<label for="login">Login:
<input type="text" name="login"/>
</label>
</div>
<div class=" ">
<label for="pwd">Password:
<input type="text" name="pwd"/>
</label>
</div>
<div class="button">
<button type="submit" name="button_connexion" value="Se_connecter">Connexion</button>
</div>
</form>
<a href=/ProjetWeb2020/Inscription>T'es nouveau?Par ici l'inscription</a>
</body>

Мораль истории: будьте осторожны с "", используйте Backsla sh в строках для html кода!

0 голосов
/ 08 апреля 2020

изменить имена параметров при доступе. Войти = req.getParameter ( "Войти"); PWD = req.getParameter ( "PWD");

это будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...