servlet接收ajax传的值只有部分可以接收成功

servlet接收ajax传的值只有部分可以接收成功

<%@ page language="java" contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册</title>
<link rel="stylesheet" href="css/reg.css">
   <script type="text/javascript" src="resources\js\jquery-1.4.2.js"></script>

</head>
<body>
   <div class="reg">
      <div class="header">
         <h1>
            <a href="login.jsp">登录</a> <a href="./regist.jsp">注册</a>
         </h1>
      </div>
      <span class="tip"></span>
      <!-- 
         文件上传的条件
         * 表单必须是post提交方式
         * 表单中必须有文件上传项,文件上传项必须有name属性和值
         * 表单的enctype属性必须设置为multipart/form-data
       -->
      <%--<%--%>
         <%--String msg = "";--%>
         <%--if(request.getAttribute("msg")!=null){--%>
            <%--msg = (String)request.getAttribute("msg");--%>
         <%--}--%>
      <%--%>--%>
      <%--<h3><font color="red"><%= msg %></font></h3>--%>
      <%--<form action="/MenuSystem/RegistServlet" method="post">--%>
         <table>
            <tr>
               <td class="td1">用户名</td>
               <td><input type="text" class="input1" name="user_name" pattern="[a-zA-Z_\d]{3,20}" placeholder="请输入用户名" required="required"></td>
            </tr>
            <tr>
               <td class="td1">密码</td>
               <td><input type="password" class="input1" name="user_old_password" pattern="\S{6,20}" placeholder="请输入密码"></td>
            </tr>
            <tr>
               <td class="td1">确认密码</td>
               <td><input type="password" class="input1" name="user_new_password" pattern="\S{6,20}" placeholder="请重新输入密码"></td>
            </tr>
            <tr>
               <td class="td1">手机号</td>
               <td><input type="text" class="input1" name="user_id" pattern="1[2578]\d{9}" placeholder="请输入手机号" required="required"></td>
            </tr>
            <tr>
               <td class="td1">邮箱</td>
               <td><input type="text" class="input1" name="user_email" pattern="[a-zA-Z_\d]{3,}[@][a-zA-Z\d]+[.][a-zA-Z]+" placeholder="请输入邮箱" required="required"></td>
            </tr>
            <tr>
               <td colspan="2">
                  <div class="btn-red">
                     <%--<input type="submit" value="注册" id="reg-btn">--%>
                        <input type="button" value="注册" id="reg-btn">
                  </div>
               </td>
            </tr>
         </table>
      <%--</form>--%>
   </div>
</body>
<script type="text/javascript">
   $("#reg-btn").click(function () {
      $.ajax({
         url:"/MenuSystem/RegistServlet",
         type:"post",
         data:{
             user_name:$("input[name = user_name]").val(),
            user_old_password:$("input[name = user_old_password]").val(),
                user_new_password:$("input[name = user_new_password]").val(),
                user_id:$("input[name = user_id]").val(),
            user_email:$("input[name = user_email]").val()
         },
         dataType:"json",
         success:function (result) {
             var flag = result.flag;
            if (flag == true){
                window.location.href = "/MenuSystem/login.jsp";
            }else {
                $(".tip").text("您填写的内容不符合规则");
            }
            }
      })
    })
</script>
</html>
package com.alan.servlet;

import com.alan.Entty.User;
import com.alan.impdao.UserImpDao;
import com.alan.util.GetData;
import org.json.JSONObject;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;

@WebServlet(name = "RegistServlet",value = "/RegistServlet")
public class RegistServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        User user = new User(request.getParameter("user_name"),request.getParameter("user_old_password"),
                request.getParameter("user_id"),request.getParameter("user_email"));
        JSONObject jsonObject = null;

        UserImpDao userImpDao = new UserImpDao();
        System.out.println(user.getUser_id()+"id");
        System.out.println(user.getUser_name()+"name");
        System.out.println(user.getUser_password()+"password");
        System.out.println(user.getUser_email()+"email");
        System.out.println(request.getParameter("user_new_password"));
        System.out.println(request.getParameter("user_old_password"));
        if (user.getUser_name().equals(userImpDao.selectId(user.getUser_name()))){
                jsonObject = new JSONObject("{flag:false}");
                System.out.println("false");
//                response.sendRedirect("/MenuSystem/error.jsp");
            }else if (request.getParameter("user_old_password").equals(request.getParameter("user_new_password"))){
                userImpDao.addUser(user);
                System.out.println("true");
//                response.sendRedirect("/MenuSystem/login.jsp");
                jsonObject = new JSONObject("{flag:true}");
            }else {
                jsonObject = new JSONObject("{flag:false}");
        }
        response.getOutputStream().write(jsonObject.toString().getBytes("utf-8"));
    }
}

[2018-02-26 10:28:03,547] Artifact MenuSystem:war exploded: Artifact is deployed successfully

[2018-02-26 10:28:03,548] Artifact MenuSystem:war exploded: Deploy took 768 milliseconds

17665393653id

Alanname

nullpassword

nullemail

null

null

数据库连接成功

26-Feb-2018 22:28:12.382 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\D\apache-tomcat-8.5.24\webapps\manager]

26-Feb-2018 22:28:12.418 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\D\apache-tomcat-8.5.24\webapps\manager] has finished in [35] ms


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
一叶知秋519 2018-02-27 11:54:04

你好,你提问的是哪个小节的内容呢?建议在相应小节进行提问,并且对问题进行清晰的描述。

request.getParameter("user_old_password"),request.getParameter("user_id"),request.getParameter("user_email") 这些都有没有获取到值呢?还有就是这些字段有没有输入值呢?


  • 提问者 Alan_1224 #1
    可以了,不知道为什么当时获取不到,过一段时间后获取到了。
    2018-02-27 12:03:57
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java Web基础入门2018版
  • 参与学习       716    人
  • 提交作业       185    份
  • 解答问题       1363    个

会Java?懂前端基础?想学后台开发?那么,赶快来学习《Java Web入门》路径吧。本路径主要介绍Java Web的基础知识,并配有大量案例,定会让你收获多多!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师