JAVAEE——SSH项目实战05:用户注册、登陆校验拦截器、员工拜访客户功能和MD5加密

作者: kent鹏

转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7170519.html

一、用户注册

   JAVAEE——SSH项目实战05:用户注册、登陆校验拦截器、员工拜访客户功能和MD5加密

   显示错误信息到页面上的另一种方法:

    public String regist() throws Exception {
// 1 调用Service保存注册用户
try {
userService.saveUser(user);
} catch (Exception e) {
e.printStackTrace();
ActionContext.getContext().put("error", e.getMessage());
return "regist";
}
// 2 重定向到登陆页面
return "toLogin";
}

   jsp:

<font color="red" ><s:property value="#error" /> </font>

二、登陆校验拦截器

  1.拦截器

public class PrivilegeInterceptor extends MethodFilterInterceptor {

    @Override
//不校验登陆和注册方法
protected String doIntercept(ActionInvocation invocation) throws Exception {
//1 获得Session
Map<String, Object> session = ActionContext.getContext().getSession();
//2 获得登陆标识
User user = (User) session.get("user");
//3 判断标识是否存在
if(user != null){
//存在=> 放行
return invocation.invoke();
}else{
//不存在=> 重定向到登陆页面
return "toLogin";
}
}
}

  2.struts.xml

        <interceptors>
<!-- 注册拦截器 -->
<interceptor name="privilegeInterceptor" class="cn.itcast.web.interceptor.PrivilegeInterceptor"></interceptor> <!-- 配置拦截器栈 -->
<interceptor-stack name="myStack">
<interceptor-ref name="privilegeInterceptor">
<param name="excludeMethods">login,regist</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 指定默认拦截器栈 -->
<default-interceptor-ref name="myStack"></default-interceptor-ref> <!-- 全局结果集配置 -->
<global-results>
<result name="toLogin" type="redirect" >/login.jsp</result>
</global-results>

三、员工拜访客户功能

  1.表|实体设计

   JAVAEE——SSH项目实战05:用户注册、登陆校验拦截器、员工拜访客户功能和MD5加密

   JAVAEE——SSH项目实战05:用户注册、登陆校验拦截器、员工拜访客户功能和MD5加密

  2.客户拜访记录添加

   JAVAEE——SSH项目实战05:用户注册、登陆校验拦截器、员工拜访客户功能和MD5加密

   时间控件在jsp的运用:

<!-- 使用日期控件步骤1: 导入js和css -->
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.4.4.min.js"></script>
<link rel="stylesheet" href="${pageContext.request.contextPath }/js/datepicker/jquery.datepick.css" type="text/css">
<script type="text/javascript" src="${pageContext.request.contextPath }/js/datepicker/jquery.datepick.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/datepicker/jquery.datepick-zh-CN.js"></script>
<script type="text/javascript"> <!-- 使用日期控件步骤2: 当页面加载完成时,调用 datepick方法指定需要应用的文本框 -->
$(document).ready(function(){
// yy 已经代表了4位的年份
// mm 代表月份
// dd 代表日期
$('#visit_time').datepick({dateFormat: 'yy-mm-dd'});
$('#visit_nexttime').datepick({dateFormat: 'yy-mm-dd'});
});
</script>

  3.客户拜访记录列表

   作业:再增加一个查询条件,就是根据业务员来查询

  4.客户拜访记录修改

   JAVAEE——SSH项目实战05:用户注册、登陆校验拦截器、员工拜访客户功能和MD5加密

四、MD5加密

   JAVAEE——SSH项目实战05:用户注册、登陆校验拦截器、员工拜访客户功能和MD5加密

public class MD5Utils {
/**
* 使用md5的算法进行加密
*/
public static String md5(String plainText) {
byte[] secretBytes = null;
try {
secretBytes = MessageDigest.getInstance("md5").digest(
plainText.getBytes());
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("没有md5这个算法!");
}
String md5code = new BigInteger(1, secretBytes).toString(16);// 16进制数字
// 如果生成数字未满32位,需要前面补0
for (int i = 0; i < 32 - md5code.length(); i++) {
md5code = "0" + md5code;
}
return md5code;
} public static void main(String[] args) {
System.out.println(md5("1234"));
}
}
上一篇:[deviceone开发]-心形点赞动画示例


下一篇:JAVAEE——SSH项目实战04:联系人添加、列表显示和修改