Oolongtea879 2024-05-17 21:15 采纳率: 16.7%
浏览 2

Java报错问题求学

在浏览器中能看到回传的值
methodName=empAdd&empid=wangwu&realname=%E7%8E%8B%E4%BA%94&idcard=1561651561&sex=&birthdate=2024-04-28&hiredate=2024-04-28&leavedate=2024-06-04&onduty=0&emptype=1&deptno=1&posid=5&phone=543453453&qq=534534&emercontactperson=
为什么会这样啊 再者就是报错 empid cannot null 一点也没法 快崩溃了

WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
DEBUG - ==>  Preparing: insert into employee values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) 
DEBUG - ==> Parameters: null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-05-17 21:15
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    【您想要解决的问题】: 您想要解决的问题是Java后端在处理表单提交时遇到的两个问题:1) 浏览器能够显示回传的值,但是某些字段(如realname)显示为乱码;2) 程序报错提示empid不能为空,导致无法正常插入数据库。

    【问题出现原因】:

    1. 乱码问题通常是因为编码不一致导致的。可能在前端表单提交时使用了UTF-8编码,而后端Java代码或数据库没有正确处理UTF-8编码。
    2. empid不能为空的错误可能是因为在表单提交时,empid字段没有被正确赋值,或者在Java代码中处理时出现了问题。

    【问题解决方案】:

    1. 解决乱码问题:

      • 确保前端表单的编码设置为UTF-8。
      • 在Java后端,确保获取参数时正确处理UTF-8编码。例如,如果使用Servlet API,可以使用request.setCharacterEncoding("UTF-8");来设置请求的字符编码。
      • 在数据库连接字符串中设置字符集,例如使用useUnicode=true&characterEncoding=UTF-8
    2. 解决empid为空的问题:

      • 检查前端表单是否正确提交了empid的值。
      • 在Java后端代码中,确保在插入数据库之前对empid进行非空检查,并给出适当的错误提示。

    【提供代码】: 以下是一个简单的Java Servlet示例,用于处理表单提交并插入数据到数据库,同时处理乱码和非空检查:

    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.IOException;
    import java.sql.*;
    
    public class EmployeeAddServlet extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("UTF-8");
            response.setContentType("text/html;charset=UTF-8");
    
            String empid = request.getParameter("empid");
            String realname = request.getParameter("realname");
            // 其他参数...
    
            if (empid == null || empid.trim().isEmpty()) {
                response.getWriter().write("Error: empid cannot be null");
                return;
            }
    
            // 连接数据库的代码...
            // 插入数据到数据库的代码...
    
            // 假设插入成功后,返回成功消息
            response.getWriter().write("Employee added successfully");
        }
    }
    

    【代码运行方式】:

    • 将上述Servlet代码部署到支持Servlet规范的Java Web服务器,如Tomcat。
    • 确保数据库连接字符串和驱动程序已正确配置。
    • 运行服务器,并访问对应的Servlet URL以测试功能。

    【代码预期运行结果】: 如果empid非空且其他参数正确,预期会看到"Employee added successfully"的消息。如果empid为空,则会看到"Error: empid cannot be null"的错误消息。

    【推荐相关链接】:

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月17日

悬赏问题

  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画