您的位置:首页 > 其它

Servlet 过滤器应用实例二 检查登录信息并向客户端返回script

2013-07-30 17:47 375 查看
1、login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'login.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<form action="success.jsp" method="post">

username:<input type="text" name="username"><br>

<input type="submit" value="submit">

</form>

</body>
</html>


2、filter.java

package com.sun.filter;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class EncodeFilter implements Filter {

public void destroy() {

}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {

HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse resp = (HttpServletResponse)response;

String username = req.getParameter("username");

String uri = req.getRequestURI();

if(uri.endsWith("login.jsp")) {

filterChain.doFilter(request, response);

return;
}

if(username != null && "admin".equals(username)) {

filterChain.doFilter(request, response);

} else {

PrintWriter out = resp.getWriter();

String script = "<script>alert('error!');window.location.href='login.jsp'</script>";

out.write(script);
}

}

public void init(FilterConfig arg0) throws ServletException {

}

}


web.xml 配置略,servlet 略……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: