package com.DengLu.And.Zhu.Ce; import java.io.IOException; import java.io.PrintWriter; import java.util.Random; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class ServlectDengLuLose */ @WebServlet("/ZhuCeLose") public class ZhuCeLose extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ZhuCeLose() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("UTF-8"); response.setContentType("text/html"); response.setHeader("refresh", "5"); //设置要求浏览器 /* response.sendRedirect("Servlet1"); */ int i=(int)(Math.random()*900000+100000); int a=(int)(Math.random()*9000+1000); int c=(int)(Math.random()*900+100); System.out.println("@@@@"+(new Random().nextInt(900000)+100000)); /* * 设置随机 */ System.out.println(new Random().nextInt(100)); System.out.println(Math.random()); PrintWriter pw =response.getWriter(); pw.print("你的支付宝到账1000万元,需要的码号为:<h1 style='color:red ;background-color:green'>"+i+"</h1>,打死也不说 \"<hr>\";"); pw.print("你的QQ到账1000万元,需要的码号为:<h2 style='color:red ;background-color:green'>"+c+"</h2>,打死也不说 \"<hr>\";"); pw.print("你的微信到账1000万元,需要的码号为:<span style='color:green'>"+a+"</span>,打死也不说"); pw.print("你的手机支付宝到账1000万<span style='color :red'>"+i+"</span>"); pw.append("<style>"); pw.append(" *{\r\n" + " margin: 0px;\r\n" + " padding: 0px;\r\n" + " background: white;\r\n" + " font-size: 30px;\r\n" + " font-weight: bold;\r\n" + " text-shadow: 1px 1px 1px red;\r\n" + "\r\n" + " }"); pw.append("</style>"); pw.append("<h1 align ='center'>2021你年垮2022年QQ登陆失败的界面</h1>"); pw.append("注册界面失败请重新注册"); response.setHeader("refresh","5;URL=Register.jsp"); pw.append("<h2 align ='center'><a href='RegisterServlect'>点击这里返回注册界面进行重新注册</a></h2>"); pw.append("如果用户一分钟后没有任何操作则在60秒后调到index.jsp文件"); response.setHeader("refresh","30;URL=index.jsp"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
package com.Filter; import java.io.IOException; import java.io.OutputStream; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class MyFilter4 implements Filter{ public MyFilter4() { // TODO Auto-generated constructor System.out.println("我创建了第一个MyFilter过滤器"); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); System.out.println("我是myfilter开始拦截请求地址哦哦"); } @Override public void init(FilterConfig config) throws ServletException { // TODO Auto-generated method stub System.out.println("FilterConfig用来加载初始化数据"); } @Override public void destroy() { System.out.println("Filter所有方法运行完毕后销毁过滤器"); } }
package com.Servlect; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class HomeServlect2 */ @WebServlet("/HomeServlect2") public class HomeServlect2 extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public HomeServlect2() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //response.getWriter().append("Served at: ").append(request.getContextPath()); response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); PrintWriter pw =response.getWriter(); pw.append("<h1 style='color:red'>登录成功</h1>"); pw.append("<h2>本案例运用的对象\r\n" + "<hr>\r\n" + "ServletConfig:对象获得静态数据\r\n" + "<hr>\r\n" + "ServletContext对象:获取共享静态数据,获取共享动态数据,获取共享文件数据.\r\n" + "<hr>\r\n" + "HttpServletResponse 对象HttpServlet调用HttpResponse的有关方法,生成响应数据\r\n" + "<hr>\r\n" + "HttpServletRequest对象:HttpServlet调用HttpResponse的有关方法,生成响应数据,用于服务器上接收浏览器发送过来的数据信息\r\n" + "<hr>\r\n" + "Cookie对象,对象Session对象。程序把每个用户的数据以Cookie/Session的形式写给用户各自的浏览器。\r\n" + "<hr>\r\n" + "Filter:过滤器,阻止非法网站的访问。\r\n" + "<hr>\r\n" + "Listener:\r\n" + "实现了特定接口的类为监听器,用来监听另一个Java类的方法调用或者属性改变;** 当被监听的对象发生了方法调用或者属性改变后,\r\n" + "监听器的对应方法就会立即执行.\r\n" + "<hr>\r\n" + "九大内置对象的核心表格\r\n" + "<hr>\r\n" + "out JspWriter 将文本信息输出浏览器\r\n" + "<hr>\r\n" + "request HttpServletRequest 获得浏览器发送来的数据\r\n" + "<hr>\r\n" + "respone HttpServletRequest 回复浏览器请求\r\n" + "<hr>\r\n" + "seesion HttpSeesion 在不换浏览器放信息\r\n" + "<hr> \r\n" + "exception Throwable 异常报错\r\n" + "<hr>\r\n" + "page Servlect(this) jsp翻译出来类的对象\r\n" + "<hr>\r\n" + "config ServlectConfig 静态数据\r\n" + "<hr>\r\n" + "application ServlectContext 共享数据\r\n" + "<hr>\r\n" + "pageContext PageContextjsp 管理者引出对象\r\n" + "<hr>\r\n" + "seesion 浏览器不切\r\n" + "application 服务器不关闭\r\n" + "request:请求转发跳转页面的情况,只能两个页面共享数据\r\n" + "pageContext:该对象中只能页面自己用\r\n" + "才能用setAttribute的方法\r\n" + "将四作用域排序\r\n" + "pageContext request seesion application \r\n" + "</h2>"); pw.append("<h1><a href='index.jsp'>返回主界面</a></h1>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
package com.Servlect; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class HomeServlect2 */ @WebServlet("/HomeServlect2") public class HomeServlect2 extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public HomeServlect2() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //response.getWriter().append("Served at: ").append(request.getContextPath()); response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); PrintWriter pw =response.getWriter(); pw.append("<h1 style='color:red'>登录成功</h1>"); pw.append("<h2>本案例运用的对象\r\n" + "<hr>\r\n" + "ServletConfig:对象获得静态数据\r\n" + "<hr>\r\n" + "ServletContext对象:获取共享静态数据,获取共享动态数据,获取共享文件数据.\r\n" + "<hr>\r\n" + "HttpServletResponse 对象HttpServlet调用HttpResponse的有关方法,生成响应数据\r\n" + "<hr>\r\n" + "HttpServletRequest对象:HttpServlet调用HttpResponse的有关方法,生成响应数据,用于服务器上接收浏览器发送过来的数据信息\r\n" + "<hr>\r\n" + "Cookie对象,对象Session对象。程序把每个用户的数据以Cookie/Session的形式写给用户各自的浏览器。\r\n" + "<hr>\r\n" + "Filter:过滤器,阻止非法网站的访问。\r\n" + "<hr>\r\n" + "Listener:\r\n" + "实现了特定接口的类为监听器,用来监听另一个Java类的方法调用或者属性改变;** 当被监听的对象发生了方法调用或者属性改变后,\r\n" + "监听器的对应方法就会立即执行.\r\n" + "<hr>\r\n" + "九大内置对象的核心表格\r\n" + "<hr>\r\n" + "out JspWriter 将文本信息输出浏览器\r\n" + "<hr>\r\n" + "request HttpServletRequest 获得浏览器发送来的数据\r\n" + "<hr>\r\n" + "respone HttpServletRequest 回复浏览器请求\r\n" + "<hr>\r\n" + "seesion HttpSeesion 在不换浏览器放信息\r\n" + "<hr> \r\n" + "exception Throwable 异常报错\r\n" + "<hr>\r\n" + "page Servlect(this) jsp翻译出来类的对象\r\n" + "<hr>\r\n" + "config ServlectConfig 静态数据\r\n" + "<hr>\r\n" + "application ServlectContext 共享数据\r\n" + "<hr>\r\n" + "pageContext PageContextjsp 管理者引出对象\r\n" + "<hr>\r\n" + "seesion 浏览器不切\r\n" + "application 服务器不关闭\r\n" + "request:请求转发跳转页面的情况,只能两个页面共享数据\r\n" + "pageContext:该对象中只能页面自己用\r\n" + "才能用setAttribute的方法\r\n" + "将四作用域排序\r\n" + "pageContext request seesion application \r\n" + "</h2>"); pw.append("<h1><a href='index.jsp'>返回主界面</a></h1>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
package com.Servlect; /** * A202020895 * 10/29 * */ import java.io.IOException; import java.io.PrintWriter; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.Random; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class Servlet1 */ @WebServlet("/Servlet1") public class servlect1 extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public servlect1() { super(); System.out.println("servlect在运行中使用cookie访问"); // TODO Auto-generated constructor stub } @Override public void init() throws ServletException { // TODO Auto-generated method stub super.init(); System.out.println("servlectinit方法"); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); /* response.sendRedirect("Servlet1"); */ int i=(int)(Math.random()*900000+100000); int a=(int)(Math.random()*9000+1000); int c=(int)(Math.random()*900+100); System.out.println("@@@@"+(new Random().nextInt(900000)+100000)); /* * 设置随机 */ System.out.println(new Random().nextInt(100)); System.out.println(Math.random()); PrintWriter pw =response.getWriter(); pw.print("你的支付宝到账1000万元,需要的码号为:<h1 style='color:red ;background-color:green'>"+i+"</h1>,打死也不说 \"<hr>\";"); pw.print("你的QQ到账1000万元,需要的码号为:<h2 style='color:red ;background-color:green'>"+c+"</h2>,打死也不说 \"<hr>\";"); pw.print("你的微信到账1000万元,需要的码号为:<span style='color:green'>"+a+"</span>,打死也不说"); pw.print("你的手机支付宝到账1000万<span style='color :red'>"+i+"</span>"); //浏览器通过地址访问服务器的servelt //servlet要获得该浏览器所携带的所有cookie对象 Cookie[] cookies=request.getCookies(); if (cookies!=null) { //循环遍历每一个cookie,直到找到servlet能识别的cookie值为止 //tag,china for (int e = 0; e < cookies.length; e++) { //通过cookie中存储的数据的名称 String name=cookies[i].getName(); if ("AAA".equals(name)) { //这个cookie是服务器要找的东西,从cookie中获得中文数据需要进行解码 String value=URLDecoder.decode(cookies[e].getValue(), "UTF-8"); System.out.println(value); pw.print(value); break; } } }else { //没有cookie,说明当前浏览器以前没有访问过服务器 //创建cookie对象,存储中文数据的时候,需要对数据进行转码 Cookie cookie=new Cookie("AAA", URLEncoder.encode("bbbbbbbb", "UTF-8")); //设置浏览器退出后,cookie还能继续存在内存中的时间 cookie.setMaxAge(30); response.addCookie(cookie); pw.print("服务器给浏览器创建了一个cookie对象"); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
package com.Servlect; /** * A202020895 * 10/29 * */ import java.io.IOException; import java.io.PrintWriter; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.Random; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class Servlet1 */ @WebServlet("/Servlet1") public class servlect1 extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public servlect1() { super(); System.out.println("servlect在运行中使用cookie访问"); // TODO Auto-generated constructor stub } @Override public void init() throws ServletException { // TODO Auto-generated method stub super.init(); System.out.println("servlectinit方法"); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); /* response.sendRedirect("Servlet1"); */ int i=(int)(Math.random()*900000+100000); int a=(int)(Math.random()*9000+1000); int c=(int)(Math.random()*900+100); System.out.println("@@@@"+(new Random().nextInt(900000)+100000)); /* * 设置随机 */ System.out.println(new Random().nextInt(100)); System.out.println(Math.random()); PrintWriter pw =response.getWriter(); pw.print("你的支付宝到账1000万元,需要的码号为:<h1 style='color:red ;background-color:green'>"+i+"</h1>,打死也不说 \"<hr>\";"); pw.print("你的QQ到账1000万元,需要的码号为:<h2 style='color:red ;background-color:green'>"+c+"</h2>,打死也不说 \"<hr>\";"); pw.print("你的微信到账1000万元,需要的码号为:<span style='color:green'>"+a+"</span>,打死也不说"); pw.print("你的手机支付宝到账1000万<span style='color :red'>"+i+"</span>"); //浏览器通过地址访问服务器的servelt //servlet要获得该浏览器所携带的所有cookie对象 Cookie[] cookies=request.getCookies(); if (cookies!=null) { //循环遍历每一个cookie,直到找到servlet能识别的cookie值为止 //tag,china for (int e = 0; e < cookies.length; e++) { //通过cookie中存储的数据的名称 String name=cookies[i].getName(); if ("AAA".equals(name)) { //这个cookie是服务器要找的东西,从cookie中获得中文数据需要进行解码 String value=URLDecoder.decode(cookies[e].getValue(), "UTF-8"); System.out.println(value); pw.print(value); break; } } }else { //没有cookie,说明当前浏览器以前没有访问过服务器 //创建cookie对象,存储中文数据的时候,需要对数据进行转码 Cookie cookie=new Cookie("AAA", URLEncoder.encode("bbbbbbbb", "UTF-8")); //设置浏览器退出后,cookie还能继续存在内存中的时间 cookie.setMaxAge(30); response.addCookie(cookie); pw.print("服务器给浏览器创建了一个cookie对象"); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
package com.Servlect; /** * 这一个类让我们去了解Servlect的周期 */ import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class ServlectOne implements Servlet{ public ServlectOne() { // TODO Auto-generated constructor stub System.out.println("@1 Servlec方法的构造方法"); } @Override public void destroy() { System.out.println("@2 Servlect方法的销毁"); } @Override public ServletConfig getServletConfig() { // TODO Auto-generated method stub System.out.println("@ 3Servlect方法加载静态数据"); return null; } @Override public String getServletInfo() { // TODO Auto-generated method stub System.out.println("@ 4 Servlect的getServletInfo方法"); return null; } @Override public void init(ServletConfig config) throws ServletException { // 获取静态数据的对象 String a=config.getInitParameter("SFZ"); System.out.println(a); System.out.println("@5 Servlecto的init方法"); System.out.println("获取静态数据的对象config"); //动态数据的获取 } @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("@5 Servlecto的servlect方法"); } }