SSM-登录注册01
JSTL c:if 判断登录/注册,用户名显示/注销登录
c:if可以嵌套使用
<!-- 如果用户的session为空则显示登录注册 -->
<c:if test="${AlxUser_Session.alx_uname==null }">
<li><a
href="${pageContext.request.contextPath }/toAlxregister.action">注册</a></li>
<li><a
href="${pageContext.request.contextPath }/toAlxlogin.action">登陆</a></li>
</c:if>
<!-- 如果用户的session不为空则显示用户信息及注销登录 -->
<c:if test="${AlxUser_Session.alx_uname!=null }">
<!-- 如果用户昵称不为空则显示用户昵称 -->
<c:if test="${AlxUser_Session.alx_ualias!=null }">
<li>欢迎您!<span style="color: hotpink;">${AlxUser_Session.alx_ualias }</span></li>
</c:if>
<!-- 如果用户昵称为空或为空串则显示用户名 -->
<c:if
test="${AlxUser_Session.alx_ualias==null||AlxUser_Session.alx_ualias==''}">
<li>欢迎您!<span style="color: hotpink;">${AlxUser_Session.alx_uname }</span></li>
</c:if>
<li><img alt="${AlxUser_Session.alx_uicon }"
src="${AlxUser_Session.alx_uicon }"></li>
<li><a
href="${pageContext.request.contextPath }/alx/alxlogout.action">注销登录</a></li>
</c:if>
拦截器
拦截器定义
1.创建一个包interceptor
2.创建一个类实现了HandlerInterceptor接口的方法
3.默认方法
public class test implements HandlerInterceptor {
@Override
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
// TODO 自动生成的方法存根
}
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
// TODO 自动生成的方法存根
}
@Override
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
// TODO 自动生成的方法存根
return false;
}
}
4.需要在springmvc-config.xml中配置
<!-- 配置拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<!-- 最先配置拦截所有路径 -->
<mvc:mapping path="/**" />
<!-- 根据需求配置,配置不拦截路径 -->
<mvc:exclude-mapping path="/toAlxindex.action" />
<mvc:exclude-mapping path="/toAlxregister.action" />
<mvc:exclude-mapping path="/alxregist.action" />
<mvc:exclude-mapping path="/alx/checkUname.action" />
<mvc:exclude-mapping path="/alx/alxregist.action" />
<bean class="com.ttms.core.interceptor.LoginInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
5.完善拦截方法
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception {
//获取请求的URL
String url = request.getRequestURI();
//判断该请求是否包含toAlxlogin.action,或alxlogin.action如果包含则放行,如果不包含则全部拦截
//这里也可以通过if判断选择拦截路径,但是代码不方便,条件会很多,通过xml的方式拦截
if(url.indexOf("/toAlxlogin.action")>=