小白学习java第16天(下):javaweb
1.MVC三层架构
mould 模型,view 视图,controller控制器
2.Filter过滤器
Filter:过滤器、用于过滤网站的数据
1.处理中文乱码
2.登录验证。。。。
举个例子:
我们没有使用过滤器,就需要在里面写入解决乱码的问题!
package com.xcl.servlet;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class ServletDemo01 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType("text/html;charset=utf-8");resp.getWriter().write("你好,张三!");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}
下面是我们中间加上filter的结果:
package com.xcl.Filter;import javax.servlet.*;
import java.io.IOException;public class FilterDemo01 implements Filter {// 初始化方法public void init(FilterConfig filterConfig) throws ServletException {}public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {servletResponse.setContentType("text/html;charset=utf-8");servletResponse.setCharacterEncoding("utf-8");System.out.println("FilterDemo01过滤器开始工作...");filterChain.doFilter(servletRequest, servletResponse);//让我们请求继续走,如果请求不写,程序就会卡在这里!System.out.println("FilterDemo01过滤器工作结束...");}// 销毁方法public void destroy() {System.out.println("FilterDemo01过滤器销毁...");}
}
package com.xcl.servlet;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class ServletDemo01 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.getWriter().write("你好,张三!");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}