Java Can';t使用request.getParameter()或request.getAttributes()从同一个Servlet检索数据,尝试了两种方法:仅获取null

Java Can';t使用request.getParameter()或request.getAttributes()从同一个Servlet检索数据,尝试了两种方法:仅获取null,java,jsp,servlets,parameters,attributes,Java,Jsp,Servlets,Parameters,Attributes,我正在发送flag=update调用带有URL的更新方法,并发送用户想要编辑记录的当前记录的id。这里我的问题是我无法从编辑方法中获取参数值(fname、lname、email、pass、cno)。每次从update方法返回null时 我认为更新方法或编辑方法有问题。请调查这件事。我想知道为什么这个问题会发生,因为我在过去的几个小时里一直在尝试 我知道我可以使用request.getAttributes()而不是request.getParameter()在同一个servlet中获取数据,但让我

我正在发送flag=update调用带有URL的更新方法,并发送用户想要编辑记录的当前记录的id。这里我的问题是我无法从编辑方法中获取参数值(fname、lname、email、pass、cno)。每次从update方法返回null时

我认为更新方法或编辑方法有问题。请调查这件事。我想知道为什么这个问题会发生,因为我在过去的几个小时里一直在尝试

我知道我可以使用
request.getAttributes()而不是
request.getParameter()
在同一个servlet中获取数据,但让我知道他们的方法是否简单?请帮我解决我的问题。提前谢谢

Registration.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Registration Page</title>
</head>
<body>

<form action="Controller1" >

First Name : <input type="text" name="fName"><br/> 
Last Name : <input type="text" name="lName"><br/>
Email : <input type="text" name="eMail"><br/>
Password : <input type="password" name="password"><br/>
Contact No : <input type="text" name="cNo"><br/><br/>

<input type="submit"  value="Register">
<input type="hidden" name="flag" value="register">

 &nbsp;&nbsp;&nbsp;<a href="Controller1?flag=login">Login</a>
</form>

</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Login Page</title>
</head>
<body>

<form action="Controller1">

Email : <input type="text" name="lin_Email" value="insert your registered EmailID"><br/>
Password : <input type="text" name="lin_Pass" value="enter your registered password"><br/>

<input type="submit" value="Login">
<input type="hidden" name="flag" value="loginValidate">

</form>

</body>
</html>

注册页
名字:
姓氏:
电子邮件:
密码:
联系电话:

Login.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Registration Page</title>
</head>
<body>

<form action="Controller1" >

First Name : <input type="text" name="fName"><br/> 
Last Name : <input type="text" name="lName"><br/>
Email : <input type="text" name="eMail"><br/>
Password : <input type="password" name="password"><br/>
Contact No : <input type="text" name="cNo"><br/><br/>

<input type="submit"  value="Register">
<input type="hidden" name="flag" value="register">

 &nbsp;&nbsp;&nbsp;<a href="Controller1?flag=login">Login</a>
</form>

</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Login Page</title>
</head>
<body>

<form action="Controller1">

Email : <input type="text" name="lin_Email" value="insert your registered EmailID"><br/>
Password : <input type="text" name="lin_Pass" value="enter your registered password"><br/>

<input type="submit" value="Login">
<input type="hidden" name="flag" value="loginValidate">

</form>

</body>
</html>

登录页面
电子邮件:
密码:
Controller1.java

import java.io.IOException;

import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Controller1
 */
@WebServlet("/Controller1")
public class Controller1 extends HttpServlet {
    private static final long serialVersionUID = 1L;
    int id;
    String fname, lname, email, pass, cno, flag;
    PrintWriter out;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public Controller1() {
        super();
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        flag = request.getParameter("flag");

        if (flag.equals("register")) {
            register(request, response);
        } else if (flag.equals("login")) {
            response.sendRedirect("/JDBC_Registration/Login.html");
        }

        else if (flag.equals("loginValidate")) {
            loginValidate(request, response);
        } else if (flag.equals("view")) {
            try {
                view(request, response);
            } catch (SQLException e) {
                                e.printStackTrace();
            }
        } else if (flag.equals("edit")) {
            try {
                edit(request, response);
            } catch (SQLException e) {

                e.printStackTrace();
            }
        } else if (flag.equals("delete")) {
            delete(request, response);
        }
        else if (flag.equals("update")) {
            try {
                update(request, response);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    private void update(HttpServletRequest request, HttpServletResponse response) throws IOException, SQLException, ServletException {
        response.setContentType("text/html");
        out = response.getWriter();

        id = Integer.parseInt(request.getParameter("id"));
//
//      String fname = request.getParameter("t1");
//      String lname = request.getParameter("t2");
//      String email = request.getParameter("t3");
//      String pass = request.getParameter("t4");
//      String cno = request.getParameter("t5");

        fname = (String) request.getAttribute("t1");
        lname = (String) request.getAttribute("t2");
        email = (String) request.getAttribute("t3");
        pass = (String) request.getAttribute("t4");
        cno = (String) request.getAttribute("t5");
        System.out.println("updated values... "+fname+"  "+lname+" "+email+" "+pass+" "+cno);
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test2","root","root");
            Statement stm = con.createStatement();

            stm.executeUpdate("update registration set FirstName='"+fname+"',LastName='"+lname+"',Email='"+email+"',Password='"+pass+"',ContactNo='"+cno+"' where id='"+id+"'");
            view(request, response);

        } catch (ClassNotFoundException e) {

            e.printStackTrace();
        }
    }

    private void delete(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("text/html");
        out = response.getWriter();
        id = Integer.parseInt(request.getParameter("id"));
        System.out.println("delete record ID....."+id);

        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test2","root","root");
            Statement stm = con.createStatement();

            stm.executeUpdate("delete from registration where id='"+id+"'");
            System.out.println("successfully deleted...record ID : "+id);
            view(request, response);
        }catch (Exception e) {
            System.out.println(e);
        }
    }

    private void edit(HttpServletRequest request, HttpServletResponse response) throws IOException, SQLException {
        response.setContentType("text/html");
        out = response.getWriter();
        id = Integer.parseInt(request.getParameter("id"));
        System.out.println(""+id);

        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test2","root","root");
            Statement stm = con.createStatement();

            ResultSet rs = stm.executeQuery("select * from registration where id='"+id+"'");

            out.println("<form action='Controller1'><table border=2>");
            out.println(
                    "<tr><td>ID</td><td>FirstName</td><td>LastName</td><td>Email</td><td>Password</td><td>ContactNo</td><td>Action</td></tr>");
            while (rs.next()) {
                out.println("<tr><td>" + rs.getString(1) + "</td><td><input type='text' name='t1' value=" + rs.getString(2) + "></td><td><input type='text' name='t2' value=" + rs.getString(3) + "></td><td><input type='text' name='t3' value=" + rs.getString(4) + "></td><td><input type='text' name='t4' value=" + rs.getString(5) + "></td><td><input type='text' name='t5' value=" + rs.getString(6) + "></td><td>&nbsp;&nbsp;<a href=Controller1?flag=update&id=" + rs.getString(1)
                        + ">Update</a>&nbsp;&nbsp;</td></tr>");
            }

            out.println("</table></form>");

        } catch (ClassNotFoundException e) {

            e.printStackTrace();
        }
    }

    private void view(HttpServletRequest request, HttpServletResponse response)
            throws SQLException, IOException, ServletException {
        response.setContentType("text/html");
        out = response.getWriter();
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test2", "root", "root");
            Statement stmt = con.createStatement();

            // RequestDispatcher rd =
            // request.getRequestDispatcher("Welcome.html");
            // rd.include(request, response);

            ResultSet rs = stmt.executeQuery("select * from registration");
            out.println("<form><table border=2>");
            out.println(
                    "<tr><td>ID</td><td>FirstName</td><td>LastName</td><td>Email</td><td>Password</td><td>ContactNo</td><td>Action</td></tr>");
            while (rs.next()) {
                out.println("<tr><td>" + rs.getString(1) + "</td><td>" + rs.getString(2) + "</td><td>" + rs.getString(3)
                        + "</td><td>" + rs.getString(4) + "</td><td>" + rs.getString(5) + "</td><td>" + rs.getString(6)
                        + "</td><td>&nbsp;&nbsp;<a href=Controller1?flag=edit&id=" + rs.getInt(1)
                        + ">Edit</a>&nbsp;&nbsp;&nbsp;&nbsp; <a href=Controller1?flag=delete&id=" + rs.getInt(1)
                        + ">Delete</a>&nbsp;&nbsp;</td></tr>");
            }

            out.println("</table></form>");

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

    }

    private void loginValidate(HttpServletRequest request, HttpServletResponse response) throws IOException {

        response.setContentType("text/html");
        out = response.getWriter();

        try {
            email = request.getParameter("lin_Email");
            pass = request.getParameter("lin_Pass");
            System.out.println("" + email + pass);

            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test2", "root", "root");
            Statement stmt = con.createStatement();

            ResultSet rs = stmt
                    .executeQuery("select * from registration where Email='" + email + "'and Password='" + pass + "'");

            if (!rs.next()) {
                out.println("<h4 style='color:red'>Please Enter correct Email ID & Password...sq</h4><br/><br/>");
                // response.sendRedirect("/JDBC_Registration/Login.html");
                RequestDispatcher rd = request.getRequestDispatcher("Login.html");
                rd.include(request, response);
            } else {
                // System.out.println("else if called....");
                out.println("<h1>Welcome User :</h1><h3>" + rs.getString(2)
                        + "</h3>&nbsp;&nbsp;&nbsp;<a href=Controller1?flag=view>view</a>");
                RequestDispatcher rd = request.getRequestDispatcher("Welcome.html");
                rd.include(request, response);
            }
        } catch (Exception e) {
            System.out.println(e);
        }
    }

    private void register(HttpServletRequest request, HttpServletResponse response) throws IOException {

        response.setContentType("text/html");
        out = response.getWriter();

        try {
            fname = request.getParameter("fName");
            lname = request.getParameter("lName");
            email = request.getParameter("eMail");
            pass = request.getParameter("password");
            cno = request.getParameter("cNo");

            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test2", "root", "root");
            Statement stmt = con.createStatement();

            stmt.executeUpdate("insert into registration(FirstName,LastName,Email,Password,ContactNo) values('" + fname
                    + "','" + lname + "','" + email + "','" + pass + "','" + cno + "')");
            System.out.println(" INSERT  : : : " + fname + " " + lname + " " + email + " " + pass + " " + cno);

            response.sendRedirect("/JDBC_Registration/Login.html");

            // view(request, response);
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}
import java.io.IOException;
导入java.io.PrintWriter;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.ResultSet;
导入java.sql.SQLException;
导入java.sql.Statement;
导入javax.servlet.RequestDispatcher;
导入javax.servlet.ServletException;
导入javax.servlet.annotation.WebServlet;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
/**
*Servlet实现类控制器1
*/
@WebServlet(“/Controller1”)
公共类控制器1扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
int-id;
字符串fname、lname、email、pass、cno、flag;
打印输出;
/**
*@参见HttpServlet#HttpServlet()
*/
公共控制员1(){
超级();
}
/**
*@参见HttpServlet#doGet(HttpServletRequest请求,HttpServletResponse
*(答复)
*/
受保护的void doGet(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
flag=request.getParameter(“flag”);
if(标志等于(“寄存器”)){
登记(请求、响应);
}else if(标记等于(“登录”)){
sendRedirect(“/JDBC_Registration/Login.html”);
}
else if(标志等于(“登录有效期”)){
loginValidate(请求、响应);
}else if(标记等于(“视图”)){
试一试{
视图(请求、响应);
}捕获(SQLE异常){
e、 printStackTrace();
}
}else if(标记等于(“编辑”)){
试一试{
编辑(请求、响应);
}捕获(SQLE异常){
e、 printStackTrace();
}
}else if(标记等于(“删除”)){
删除(请求、答复);
}
else if(标记等于(“更新”)){
试一试{
更新(请求、响应);
}捕获(SQLE异常){
e、 printStackTrace();
}
}
}
私有void更新(HttpServletRequest请求、HttpServletResponse响应)引发IOException、SQLException、ServletException{
response.setContentType(“text/html”);
out=response.getWriter();
id=Integer.parseInt(request.getParameter(“id”);
//
//字符串fname=request.getParameter(“t1”);
//字符串lname=request.getParameter(“t2”);
//字符串email=request.getParameter(“t3”);
//String pass=request.getParameter(“t4”);
//字符串cno=request.getParameter(“t5”);
fname=(字符串)request.getAttribute(“t1”);
lname=(字符串)request.getAttribute(“t2”);
email=(字符串)request.getAttribute(“t3”);
pass=(字符串)request.getAttribute(“t4”);
cno=(字符串)request.getAttribute(“t5”);
System.out.println(“更新值…”+fname+“”+lname+“”+email+“”+pass+“”+cno);
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/test2“,”根“,”根“);
语句stm=con.createStatement();
stm.executeUpdate(“更新注册集名=”+fname+”,LastName=“+lname+”,Email=“+Email+”,Password=“+pass+”,ContactNo=“+cno+”,其中id=“+id+”);
视图(请求、响应);
}catch(classnotfounde异常){
e、 printStackTrace();
}
}
私有void delete(HttpServletRequest请求、HttpServletResponse响应)引发IOException{
response.setContentType(“text/html”);
out=response.getWriter();
id=Integer.parseInt(request.getParameter(“id”);
System.out.println(“删除记录ID…”+ID);
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/test2“,”根“,”根“);
语句stm=con.createStatement();
stm.executeUpdate(“从注册中删除,其中id=”+id+”);
System.out.println(“已成功删除…记录ID:+ID”);
视图(请求、响应);
}捕获(例外e){
系统输出打印ln(e);
}
}
私有void编辑(HttpServletRequest请求、HttpServletResponse响应)抛出IOException、SQLException{
response.setContentType(“text/html”);
out=response.getWriter();
id=Integer.parseInt(request.getParameter(“id”);
System.out.println(“+id”);
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/test2“,”根“,”根“);