java1996 2016-11-17 13:19 采纳率: 0%
浏览 1268

界面上出现两个null,明明已经获取为空了为什么还是有,求解决

<%@page import="edu.jmi.db.*" %>
<%@page import="java.sql.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">



Insert title here



<%
String str =null;
//1设置解码
request.setCharacterEncoding("utf-8");
//2获取参数
str=request.getParameter("name");
String str1=request.getParameter("password");
String str2=request.getParameter("password2");
String str3=request.getParameter("mail");
System.out.println(str+str1+str2+str3);
if(str==null){//如果初次加载页面,直接返回,不会执行下面存取数据库的代码
//return;
}else{

//3存取数据库
//3.1获取数据库链接
Connection conn=DB.getConnection();
//3.2准备插入sql语句
String dbpw=DB.validUser(str);
if(dbpw==null){

String sql="insert into user(name,password,email) values(?,?,?)";
PreparedStatement pst=conn.prepareStatement(sql);//执行sql语句

// pst.setInt(1,1); //id
pst.setString(1,str);//name
pst.setString(2,str1);//pass
pst.setString(3,str3);//email

if(str1.equals(str2)){
    //3.3执行插入
    int res=pst.executeUpdate();
    System.out.println("插入结果是:"+res);
    pst.close();
    conn.close();
    session.setAttribute("usr", str);
    response.sendRedirect("regok.jsp"); 
}else{
    session.setAttribute("errmsg", "密码和确认密码不一致");
} 
}else{
    session.setAttribute("errmsg2", "用户名已存在,请重新输入");
}
}
String err = (String)session.getAttribute("errmsg");
if(err==null){
      err="";
  } 
String err2 = (String)session.getAttribute("errmsg2");
if(err2==null){
      err2="";
  } 

%>
<%=session.getAttribute("errmsg") %>
<%=session.getAttribute("errmsg2") %>

用户名:

密码:

确认密码:

邮箱:



  • 写回答

1条回答 默认 最新

  • 毕小宝 博客专家认证 2016-11-17 22:27
    关注
        首先, 你的if只是判断name参数不为空时返回,但是可能进入else分支了。其次,页面打印的代码是因为最后两句取session中的数据为空,你最后两行是独立的,其实应该在某个判断语句中,如果有异常情况,就在页面输出。
    
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料