栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Servlet总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Servlet总结

目录

Servlet技术serveletconfig类(配置信息类)HTTP协议HTTPServletRequest类HttpServletResponse类

Servlet技术

1)什么是Servlet

Servlet是javaEE规范之一。规范就是接口Servlet是JAVAWEB三大组件之一。(Servlet程序,Fititer过滤器,Listenter监听器)Servlet是运行在服务器上的一个java小程序,它可以接收客服端的请求,获取响应请求

2)实现第一个Servlert程序

编写一个类去实现Servlet接口(一般来使用HttpServlet来实现)实现Service方法,处理请求,并响应数据到web.xml中配置servlet程序的访问路径

 
    
        
        qsh_servlet
        
        com.qsh_Servlet
    

    
    
        
        qsh_servlet
        
        /qsh
    

3)生命周期

执行Servlet构造器方法执行init初始化方法执行service方法知悉destroy销毁方法 serveletconfig类(配置信息类)

1)三大作用

可以获取Servlet程序的别名servlet-name的值获取初始化参数init-param


       name
       覃圣航asjdlk
 

获取ServletContext
2)解析serveletconfig类serveltConfig是servlet程序的配置信息类servlet程序默认是第一次访问的时候创建,servletconfig是每个servlet程序创建时,就创建一个对应的servlet对象我们除开在init类中使用servletconfig对象外,还可以在doget或者dopost使用

 ServletConfig servletConfig = getServletConfig();

3)ServletContext是什么

它是一个接口,它表示Servlet上下文对象一个web工程,只有一个servleContexxt对象实例servletContext对象是一个域对象,他在部署的时候创建,停止服务器的时候销毁。

作用:获取web.xml中配置上下文参顺context-param

    
    
        user
        root
    
        System.out.println("这个Context的配置对象是:"+servletContext.getInitParameter("user"));

获取当前工程路径,格式/工程路径

        System.out.println("当前工程的路径"+servletContext.getContextPath());

获取工程部署后在服务器硬盘的绝对路径

        System.out.println("当前磁盘路径"+servletContext.getRealPath("/"));

想map一样存取数据(他的作用范围是整个web工程)

getServletContext().setAttribute("name","覃圣航");
        System.out.println(getServletContext().getAttribute("name"));
HTTP协议

1)get请求和post请求


2)响应状态码

HTTPServletRequest类

1)HttpServletRequest类的作用是什么
每次只要有请求进入TOmcat服务器,Tomcat服务器就会把请求过来的HTTP协议幸喜分析封装到Request对象中。然后传递到service方法(doGet和doPost)中给我们使用。我们可以通过HttpServletRequest对象,获取到所有请求的信息。
2)常用参数

Request解决中文乱码问题: request.setCharacterEncoding("UTF-8");
3)请求转发
关键词:request.getRequestDispatcher("/Servlet02")、 requestDispatcher.forward(request,response);
什么是请求转发?
请求转发是指,服务器收到请求后,从一个资源跳转到另一个资源。

Servlet01

//获取办事材料(获取请求的参数)
        String username = request.getParameter("username");
        System.out.println("这是柜台一的材料"+username);
        //处理完事务,加盖一个印章传到你要转发到的Servlet
        request.setAttribute("key","柜台一的章");
        
        RequestDispatcher requestDispatcher = request.getRequestDispatcher("/Servlet02");
        //走到你要取的路径requesDispater
        requestDispatcher.forward(request,response);
    

Servlet02

 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     //查看传过来的办公材料(获取请求的参数)
        String username = request.getParameter("username");
        System.out.println("在Servlet2(柜台2)中查看参数(材料)"+username);
     //查看柜台一是否有盖章
        Object key = request.getAttribute("key");
        System.out.println("柜台一的章"+key);
     //处理自己的业务
        System.out.println("Servlet2处理自己的业务");


4)base标签的作用
base标签可以设置当前页面中所有相对路径工作时候,参数路径按照那个经行跳转

avascript

    Title
    


这是a/b的页面
跳转页面

 
HttpServletResponse类 

1)response作用
HttpSservletResponse类和HttpServletRequest类一样。每次请求进来,Tomcat服务器都会创建一个Response对象传递Servlet程序去使用。HttpServletReuest表示请求过来的信息,HttpServletResponse表示所有响应的信息,
我们如果需要设置返回给客户端的信息,都可以通过HttpServletResponse对象来设置
2)如何向客户端上传递数据
用流的方式:字符流、字节流

PrintWriter writer = resp.getWriter();
        writer.write("覃圣航");

3)response解决中文乱码问题

  //设置服务器的字符集为(UTF-8)
        resp.setCharacterEncoding("UTF-8");
        //设置浏览器的字符集(utf-8)
        resp.setHeader("Content-Type","text/html;charset-UTF-8");

方法二:

 
        resp.setContentType("text/html;charset-UTF-8");

4)请求重定向

response1

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置响应状态码
        resp.setStatus(302);
        //设置响应头
        resp.setHeader("Location","/reponse2");
    }

response2

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setHeader("Content-Type","text/html;charset-UTF-8");
        resp.setCharacterEncoding("UTF-8");
        resp.getWriter().write("这是reponse2");
    }

方法二、

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.sendRedirect("/reponse2");
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/721349.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号