天天看點

post方法送出後調用的是doGet()方法,擷取不了元素值

運作環境:

JDK1.8.0_172

JRE1.8.0_172

apache-tomcat-9.0.8

1、這是我的web案例WEB12

post方法送出後調用的是doGet()方法,擷取不了元素值
post方法送出後調用的是doGet()方法,擷取不了元素值

2、C3POutils的主要語句

post方法送出後調用的是doGet()方法,擷取不了元素值

3、  2.html

post方法送出後調用的是doGet()方法,擷取不了元素值

4、loginServlet代碼如下:

package login;

import java.io.IOException;

import java.sql.SQLException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.dbutils.QueryRunner;

import org.apache.commons.dbutils.handlers.BeanHandler;

import cn.itcast.C3poUtils;

import cn.itcast.User;

@SuppressWarnings("serial")

public class LoginServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    //debug測試輸出

    System.out.println("get");

    doPost(request,response);//因為不知道為什麼post方法直接調用了doGet方法。

    }

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //debug測試輸出

        System.out.println("post");

        //username=tom&password=12345

        //1擷取使用者名和密碼

        String username = request.getParameter("name");//程式到這裡發現提取不了username=null;

        String password = request.getParameter("password");//password=null

        //2從資料庫中驗證使用者名是否正确

        try {

            // 1.擷取核心類queryRunner

            QueryRunner qr = new QueryRunner(C3poUtils.getDataSource());

            // 2.編寫sql語句

            String sql = "select * from user where name=? password=?";

            //3.為占位符設定值

            Object[] params = {username,password};

            // 4.執行查詢操作

            User user = qr.query(sql, new BeanHandler<User>(User.class), params);

            //User user = qr.query(sql, new BeanHandler<User>(User.class), username,password);這樣寫也可以

            //3根據傳回結果給使用者顯示不同的顯示資訊

            if(user!=null) {

                //響應方法

                response.getWriter().write(user.toString());

            }else {

                response.getWriter().write("sorry!your name or password is wrong");

            }

        } catch (SQLException e) {

            throw new RuntimeException(e);

        }

    }

}

5、User類(寫好get/set,toSting):

post方法送出後調用的是doGet()方法,擷取不了元素值

6、c3po-config.xml檔案代碼:

post方法送出後調用的是doGet()方法,擷取不了元素值

問題就在黃色線部分:

1.post方法送出後調用的是doGet()方法(據說是沒寫method才會被預設doGet())?

2.在進入了doPost()中的時候,擷取不了元素value?

上一篇: [NLP]LSTM了解
下一篇: tensorflow LSTM