Jsp EL表达式:
true
{10}
10.5
{“kouyang”}
null
{param.password1}==
param.password2错误
{param.password1 }==
param.password2错误
{param.password1 == param.passowrd2 }正确
EL算术运算符:+、-、*、/或div、%或mod
EL关系运算符:=或eq、!=或ne、<或lt、>或gt、<=或le、>=或ge、
EL逻辑运算符:&&或and、||或or、!或not
其他运算符:()括号运算符
A?B:C条件运算符、Empty(单目)运算符:用来判断值是否为null或空,null或空返回true,否则返回false
{empty null }
<%
User user = new User();
List userList = new ArrayList();
userList.add(new User());
pageContext.setAttribute(“userList”, userList);
%>
${empty userList }
Jstl是jsp标准标签库,简化jsp页面
1=====1
1!====1
<%int a = (int) (Math.random()*3);
pageContext.setAttribute(“a”, a);
%>
产生的随机数是1
产生的随机数是2
产生的随机数是3
error
MD5加密—转换
MD5.encode(“要加密的字符串”);
要加密都加密(注册和登录)
Jsp和servlet
有对持久化层的操作用servlet
其他都用jsp页面
package com.ddm.util;
import java.security.MessageDigest;
//java.security.MessageDigest类用于为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。简单点说就是用于生成散列码。
public class MD5andKL {
// MD5加码。32位
public static String MD5(String inStr) {
MessageDigest md5 = null;
try {
// 计算信息摘(即散列码)要做的第一步是创建 MessageDigest对象 实例。
//像所有的引擎类一样,获取某类报文摘要算法(即散列算法,比如MD5)的 MessageDigest 对象的途径是调用 MessageDigest 类中的 getInstance 静态 factory 方法:
md5 = MessageDigest.getInstance(“MD5”);
} catch (Exception e) {
System.out.println(e.toString());
e.printStackTrace();
return “”;
}
char[] charArray = inStr.toCharArray();
byte[] byteArray = new byte[charArray.length];
for (int i = 0; i < charArray.length; i++)
byteArray[i] = (byte) charArray[i];
// 使用指定的字节数组对摘要进行最后更新,然后完成摘要计算。
byte[] md5Bytes = md5.digest(byteArray);
StringBuffer hexValue = new StringBuffer();
for (int i = 0; i < md5Bytes.length; i++) {
int val = ((int) md5Bytes[i]) & 0xff;
if (val < 16)
hexValue.append("0");
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
// 可逆的加密算法
public static String KL(String inStr) {
// String s = new String(inStr);
char[] a = inStr.toCharArray();
for (int i = 0; i < a.length; i++) {
a[i] = (char) (a[i] ^ 't');
}
String s = new String(a);
return s;
}
// 加密后解密
public static String JM(String inStr) {
char[] a = inStr.toCharArray();
for (int i = 0; i < a.length; i++) {
a[i] = (char) (a[i] ^ 't');
}
String k = new String(a);
return k;
}
// 测试主函数
public static void main(String args[]) {
String s = new String("a");
System.out.println("原始:" + s);
System.out.println("MD5后:" + MD5(s));
System.out.println("MD5后再加密:" + KL(MD5(s)));
System.out.println("解密为MD5后的:" + JM(KL(MD5(s))));
}
}