您的位置:首页 > 编程语言 > Java开发

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

2017-02-13 22:11 232 查看
 
                                     前几天刚自己搭建的ssm 框架 ,这几天刚开始做                                                                 



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

 复习几个注解哈



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

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



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

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

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



map判断为空的3种方法





1.    map==null



2.    map.size()==0

[b]3.   map.isEmpty()

[/b]

 如果用前俩种判断报错的话,证明其实你的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++) {


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

[/b]

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

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

            // 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 + "/";

%>






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

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

    pageEncoding="UTF-8"%>



js取input控件的值


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

[b]获取div的内容向div中插入内容 
[/b]

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)

        }


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐