81,092
社区成员
发帖
与我相关
我的任务
分享
package TestFilter;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class NoteServlet extends HttpServlet {
public final static String type="text/html;charset=GB2312";
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException {
response.setContentType(type);
ServletOutputStream out=response.getOutputStream();
out.println("<html>");
out.println("<head><title>留言簿</title><body>");
String userName=request.getParameter("userName");
String content=request.getParameter("content");
if(userName!=null){
userName=new String(userName.getBytes("ISO-8859-1"),"GB2312");
content=new String(content.getBytes("ISO-8859-1"),"GB2312");
}
if(content!=null&&!content.equals("")){
out.println("<p><h3>"+userName+"的留言为:"+content+"</h3></p>");
}
out.println("<form action="+request.getContextPath()+"/note method=get />");
out.println("<b>姓名:</b>");
out.println("<input type=text size=10 name=userName><BR>");
out.println("<b>留言:</b><BR>");
out.println("<textArea name=content rows=5 cols=20 wrap></textArea><br>");
out.println("<BR>");
out.println("<input type=submit value='提交'>");
out.println("</form>");
out.println("</body></html>");
}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException {
doGet(request,response);
}
public void destroy(){
}
}
第二个:
package TestFilter;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class NoteFilter implements Filter{
private FilterConfig config=null;
private String blackList;
public void init(FilterConfig config){
this.config=config;
blackList=config.getInitParameter("blackList");
}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)
throws IOException,ServletException{
boolean available=false;
String userName=((HttpServletRequest)request).getParameter("userName");
if(userName!=null){
userName=new String(userName.getBytes("ISO-8859-1"),"GB2312");
}
String[]str=blackList.split(",");
for(int i=0;i<str.length;i++){
if(userName.indexOf(str[i])!=-1){
available=true;
break;
}
}
if(userName!=null&&available){
response.setContentType("text/html;charset=gb2312");
PrintWriter out=response.getWriter();
out.println("<html><head><title>NoteFilter过滤器</title></head><body>");
out.println("<center><font color=red>对不起"+userName+
"你已经被加入了黑名单,你没有留言权限!!!</font></center>");
out.println("</body><html>");
out.flush();
return ;
}
long before=System.currentTimeMillis();
config.getServletContext().log("NoteFilter:before call chain.doFilter");
chain.doFilter(request, response);
config.getServletContext().log("NoteFilter:after call chain.doFilter");
long after=System.currentTimeMillis();
String name="";
if(request instanceof HttpServletRequest){
name=((HttpServletRequest)request).getRequestURI();
}
config.getServletContext().log("你请求"+name+"所用的时间为"+(after-before));
}
public void destroy(){
config=null;
}
}