前几天刚自己搭建的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)
}