Spring MVC + MyBatis 记录自己项目问题

来源:互联网 发布:萨德问题 知乎 编辑:程序博客网 时间:2024/06/07 02:46
 

                                     前几天刚自己搭建的ssm 框架 ,这几天刚开始做                                                                 

目前进度数据库设计暂时完事,然后登陆页面搞定,登录功能及其验证做完,记录从开始到现在遇见的问题和知识


 复习几个注解哈


@Controller是告诉服务器  这个类是MVC中的C    这个类可以接收用户请求    处理用户请求

@RequestMapping 相当于请求方法的别名,决定了你跳转到这个类的哪个方法而已 

@Autowired 它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。

@responsebody表示该方法的返回结果直接写入HTTP response body中

@PathVariable是用来获得请求url中的动态参数的


map判断为空的3种方法


1.    map==null

2.    map.size()==0

3.   map.isEmpty()

 如果用前俩种判断报错的话,证明其实你的map是没有创建的,想要判断可以用第三种




md5 加密方法实现



  public static String MD5Encode(String origin) {
        String resultString = null;

        try {
          resultString = new String(origin);
          MessageDigest md = MessageDigest.getInstance("MD5");
          resultString = byteArrayToString(md.digest(resultString.getBytes()));
        }
        catch (Exception ex) {
            ex.printStackTrace();
        }
        return resultString;
   }


  public static String byteArrayToString(byte[] b) {
        StringBuffer resultSb = new StringBuffer();
        for (int i = 0; i < b.length; i++) {

         //若使用本函数转换则可得到加密结果的16进制表示,即数字字母混合的形式      

             resultSb.append(byteToHexString(b[i]));

          //使用本函数则返回加密结果的10进制数字字串,即全数字形式

            // resultSb.append(byteToNumString(b[i]));
        }
        return resultSb.toString();

   }



 private static String byteToHexString(byte b) {
        int n = b;
        if (n < 0) {
          n = 256 + n;
        }
        int d1 = n / 16;
        int d2 = n % 16;
        return hexDigits[d1] + hexDigits[d2];
  }


  private static String byteToNumString(byte b) {
        int _b = b;
        if (_b < 0) {
          _b = 256 + _b;
        }
        return String.valueOf(_b);
 }


自己写个main方法调用MD5Encode()就行了

做注册功能时候可以把密码调用MD5Encode()方法加密,然后存到数据库中

登录时候可以把用户输入的密码用MD5Encode()方法加密一遍和数据库中的对比就知道对不对啦!





js以及jsp


<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>



jsp首行写错可能会导致js或css加载出现304 not modified

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>


js取input控件的值

document.getElementById("input的ID").value;


获取div的内容向div中插入内容 

var data="嘿嘿";

document.getElementById('div的id').innerHTML = "<p style='color:red;'>" + data + "</p>";


js里取Object 值

           data就是你的object

           for(i in data){
                  alert(i);           //获得属性
                  alert(data[i]);  //获得属性值
            }


js获取项目地址或者项目名称和当前路径

          // 获取当前网址,如:http://localhost:8080/ssm/index.jsp
          var currentPath = window.document.location.href;
          // 获取主机地址之后的目录,如: /ssm/index.jsp
          var pathName = window.document.location.pathname;
          var pos = currentPath.indexOf(pathName);
          // 获取带"/"的项目名,如:/ssm
         var projectName = pathName.substring(1, pathName.substr(1).indexOf('/') + 1);


ajax success  请求成功时执行函数不进,可以先把errot输出看看具体原因

       error : function(XMLResponse) {
            alert(XMLResponse.responseText)
        }



0 0
原创粉丝点击