String sql = "update user set password='" + newPassword
+ "' where username="+username;
System.out.println(sql);
int req = DA.executeUpdate(sql);
问题一:红色标注的那个username是变量,varchar类型的 如何取值啊 就是说变量旁边 符号怎么加?
如果我where username="+username;是null<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>    <base href="<%=basePath%>">
    
    问题二:蓝色标注的这段代码是什么意思? 作用是什么?

解决方案 »

  1.   

    String sql = "update user set password='" + newPassword
    + "' where username="+username;
    System.out.println(sql);
    int req = DA.executeUpdate(sql);
    问题一:红色标注的那个username是变量,varchar类型的 如何取值啊 就是说变量旁边 符号怎么加?
    如果我where username="+username;是null

    说明你的username取值为空,看传递的变量是否有值

    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>    <base href=" <%=basePath%>">   
       问题二:蓝色标注的这段代码是什么意思? 作用是什么?蓝色标注的意思是:request.getScheme()获取协议名
    request.getServerName()获取服务名
    request.getServerPort()获取服务的端口号合在一起获取http请求路径
      

  2.   

    request.getScheme()获取协议名 
    request.getServerName()获取服务名 
    request.getServerPort()获取服务的端口号 
    还有request.getParameter()获得客户端的参数值
    request.getAttribute(STRING NAME)返回NAME指定的属性值,如果不存在,返回NULL
      

  3.   

    String sql = "update user set password='" + newPassword 
    + "' where username="+username; 
    改成
    String sql = "update user set password='" + newPassword 
    + "' where username='"+username+"'"; 
    提两点建议:
    一:最好不要用user做表名
    二:最好用String sql = "update user set password=? where username=?"; 然后传参数
      

  4.   

    第一个问题答案:'"+username+"'
    第二个问题答案:
    request.getScheme()获取协议名
    request.getServerName()获取服务名
    request.getServerPort()获取服务的端口号 
    request.getContextPath()获取当前Uri
    关键是<base href=" <%=basePath%>">
    是为了确保文档中所有的相对URL都可以被分解成正确的文档地址,即使在文档本身被移动或重命名的情况下也可以正确解析。