Java Servlet 表单 Post 问题:getParameters() return 空值
Java Servlet Form Post issue : getParameters() return null values
我是新来的,母语不是英语:)。
因此,我编写了一个表单,通过 java servlet 中的 post 方法发送简单值。
起初,它与 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>");
}
}
结果我不想要了。
enter image description here
我会非常高兴地感谢任何答案:)
访问时更改参数名称。
登录=req.getParameter("login");
pwd=req.getParameter("pwd");
它会起作用。
所以,谢谢大家,尤其是 Swati 提供的解决方案。是的,关于 "backslash".
的错字问题
我给你正确的密码:
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>
story:be 小心“”的寓意,在 html 代码的字符串中使用反斜杠!
我是新来的,母语不是英语:)。 因此,我编写了一个表单,通过 java servlet 中的 post 方法发送简单值。 起初,它与 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>");
}
}
结果我不想要了。
enter image description here
我会非常高兴地感谢任何答案:)
访问时更改参数名称。 登录=req.getParameter("login"); pwd=req.getParameter("pwd");
它会起作用。
所以,谢谢大家,尤其是 Swati 提供的解决方案。是的,关于 "backslash".
的错字问题我给你正确的密码:
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>
story:be 小心“”的寓意,在 html 代码的字符串中使用反斜杠!