Java_servlet基础

package com.xx.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/s01")
public class Servlet01 extends HttpServlet {
    /**
     * 处理请求数据
     */
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("hello servlet!");
        response.getWriter().write("hello servlet!");
    }

    /**
     * 创建Servlet
     * @throws ServletException
     */
    @Override
    public void init() throws ServletException {
        System.out.println("Servlet被调用了");
    }

    /**
     * 销毁Servlet
     */
    @Override
    public void destroy() {
        System.out.println("Servlet被销毁了");
    }

}

 

 

package com.xx.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

@WebServlet("/s02")
public class Servlet02 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Servlet02...");
        //request对象 获取客户端数据
        //response对象 向客户端输出数据
        request.setAttribute("name","admin");

        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        request.setAttribute("list",list);

        //请求转发跳转到Servlet03
        request.getRequestDispatcher("s03").forward(request,response);
//      请求转发跳转到index.jsp
//      request.getRequestDispatcher("index.jsp").forward(request, response);
    }



}

 

 

package com.xx.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@WebServlet("/s03")
public class Servlet03 extends HttpServlet {

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        System.out.println("Servlet03...");
        //获取对象数据
        String name = (String) request.getAttribute("name");
        System.out.println("name:" + name);

        List<String> list = (List<String>) request.getAttribute("list");
        System.out.println(list);


    }



}

 

 

package com.xx.servlet;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/s04")
public class Servlet04 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//        输出字符流
        /*PrintWriter writer = response.getWriter();
        writer.write("hello");*/
//输出字节流
        ServletOutputStream out = response.getOutputStream();
        out.write("zijie".getBytes());
    }
}

 

 

package com.xx.servlet;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/s05")
public class Servlet05 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

/*//        设置服务端编码格式
        response.setCharacterEncoding("UTF-8");
//        设置客户端编码格式
        response.setHeader("content-type","text/html;charset=UTF-8");*/
//        同时设置服务端和客户端的编码格式
        response.setContentType("text/html; charset=UTF-8");
        //        输出字符流
        PrintWriter writer = response.getWriter();
        writer.write("<h2>你好字符流</h2>");

    }
}

 

 

package com.xx.servlet;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/s06")
public class Servlet06 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

/*//        设置服务端编码格式
        response.setCharacterEncoding("UTF-8");
//        设置客户端编码格式
        response.setHeader("content-type","text/html;charset=UTF-8");
//        同时设置服务端和客户端的编码格式
        response.setContentType("text/html; charset=UTF-8");*/
        //输出字节流
        ServletOutputStream out = response.getOutputStream();
        out.write("<h2>你好字节流</h2>".getBytes());

    }
}

 

重定向
package com.xx.servlet;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/s07")
public class Servlet07 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//        第一次请求
        System.out.println("Servlet07");

//        是否共享数据
        String uname = request.getParameter("uname");
        System.out.println("s07" + uname);
//        重定向
        response.sendRedirect("s08");



    }
}

 

重定向
package com.xx.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/s08")
public class Servlet08 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//        第二次请求
        System.out.println("Servlet08");
        //        是否共享数据
        String uname = request.getParameter("uname");
        System.out.println("s07" + uname);
//        重定向不共享数据




    }
}

 

请求转发和重定向的区别
package com.xx.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/s09")
public class Servlet09 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Servlet09");
//        接收参数
        String uname = request.getParameter("uname");
        System.out.println(uname);
//        设置request域对象
        request.setAttribute("upwd","123456");
/**
* 请求转发和重定向的区别
* 1.请求转发的地址栏不会发生改变,重定向会
* 2.请求转发只有一次请求
* 3.请求转发时request对象可共享,重定向时不共享
* 4.请求转发是服务端行为,重定向是客户端行为
* 5.请求转发时的地址是当前项目下的资源,重定向时地址可以是任何地址
*/
/**
 * 共享request对象只能用请求转发
 * 跳转   两者都可以用
 * 跳转地址不是当前项目下的,只能用重定向
 */
//请求转发
//        request.getRequestDispatcher("index02.jsp").forward(request, response);

//重定向
//        response.sendRedirect("index02.jsp");

//重定向到百度(可以找到任何资源)
//        response.sendRedirect("http://www.baidu.com");

//请求转发到百度(当前资源下找不到)
        request.getRequestDispatcher("http://www.baidu.com").forward(request, response);




    }
}

 

posted @ 2022-03-31 21:49  kuaiquxie  阅读(28)  评论(0编辑  收藏  举报