1.第三阶段:
a)页面 jsp 动态化
1、在 html 页面顶行添加 page 指令。
2、修改文件后缀名为:.jsp
3、使用 IDEA 搜索替换.html 为.jsp(快捷键:Ctrl+Shift+R)
b)抽取页面中相同的内容
i. head 中 css、jquery、base 标签
<%
String basePath = request.getScheme()
+ “://“
+ request.getServerName()
+ “:”
+ request.getServerPort()
+ request.getContextPath()
+ “/“;
%>
<%=basePath%>
<base href=”<%=basePath%>”>
<link type=”text/css” rel=”stylesheet” href=”static/css/style.css” >
<script type=”text/javascript” src=”static/script/jquery-1.7.2.js”></script>
给 login.jsp 添加隐藏域和修改请求地址
使用反射优化大量 else if 代码
e)数据的封装和抽取 BeanUtils 的使用
BeanUtils 工具类,它可以一次性的把所有请求的参数注入到 JavaBean 中。
BeanUtils 工具类,经常用于把 Map 中的值注入到 JavaBean 中,或者是对象属性值的拷贝操作。
BeanUtils 它不是 Jdk 的类。而是第三方的工具类。所以需要导包。
1、导入需要的 jar 包:
commons-beanutils-1.8.0.jar
commons-logging-1.1.1.jar
BeanUtils.populate(bean,request.getParameterMap());
2、编写 WebUtils 工具类使用:
WebUtils 工具类:
public class WebUtils {
/**
* 把 Map 中的值注入到对应的 JavaBean 属性中。
* @param value* @param bean
*/
public static <T> T copyParamToBean( Map value , T bean ){
try {
System.out.println("注入之前:" + bean);
/**
* 把所有请求的参数都注入到 user 对象中
*/
BeanUtils.populate(bean, value);
System.out.println("注入之后:" + bean);
} catch (Exception e) {
e.printStackTrace();
}
return bean;
}
}