JAVA-EE请求域对象的解析和请求域------计算机网络经典

发布于:2023-09-27 ⋅ 阅读:(99) ⋅ 点赞:(0)
Request对象实际上是一个域对象,请求域对象
应用域对象是什么ServletContext对象,即servlet上下文对象
全局都使用的,全局(webapp)共享的,内容较小,修改较少的我们就绑定在应用域之中
可以提高我们程序的执行效率
如果这个数据查询完毕后,放到了我们的servletContext中,就可以不用每次查询都去连接数据库实现查找数据
大大提升了查询效率(连接数据库需要从硬盘中取文件),实际上我们针对高并发的系统做法也是一样的
就是利用了缓存这个机制实现的提高查询效率,减少了IO的操作,大大提升了系统性能
线程池,字符串常量池,连接池,整数型常量池,redis,MongoDB
域都有这三个方法
void setAttribute(String name,Object obj);向域中绑定数据
Object setAttribute(String name);//获取域中的数据
void removeAttribute(String name);//将域当中的指定的数据移除
请求域只在一次请求内有效,尽可能使用请求域,保证这个内存占用尽可能早被清除
一个请求对象对应一个请求域对象

Request对象实际上是一个域对象,请求域对象
应用域对象是什么ServletContext对象,即servlet上下文对象
全局都使用的,全局(webapp)共享的,内容较小,修改较少的我们就绑定在应用域之中
可以提高我们程序的执行效率
如果这个数据查询完毕后,放到了我们的servletContext中,就可以不用每次查询都去连接数据库实现查找数据
大大提升了查询效率(连接数据库需要从硬盘中取文件),实际上我们针对高并发的系统做法也是一样的
就是利用了缓存这个机制实现的提高查询效率,减少了IO的操作,大大提升了系统性能
线程池,字符串常量池,连接池,整数型常量池,redis,MongoDB
域都有这三个方法
void setAttribute(String name,Object obj);向域中绑定数据
Object setAttribute(String name);//获取域中的数据
void removeAttribute(String name);//将域当中的指定的数据移除
请求域只在一次请求内有效,尽可能使用请求域,保证这个内存占用尽可能早被清除
一个请求对象对应一个请求域对象

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
         version="6.0">
    <servlet>
        <servlet-name>RTS</servlet-name>
        <servlet-class>com.powernode.javaweb.servlet.RequestTestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>RTS</servlet-name>
        <url-pattern>/RTS</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>AServlet</servlet-name>
        <servlet-class>com.powernode.javaweb.servlet.AServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AServlet</servlet-name>
        <url-pattern>/AServlet</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>BServlet</servlet-name>
        <servlet-class>com.powernode.javaweb.servlet.BServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>BServlet</servlet-name>
        <url-pattern>/BServlet</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>RTS</welcome-file>
    </welcome-file-list>
</web-app>

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
         version="6.0">
    <servlet>
        <servlet-name>RTS</servlet-name>
        <servlet-class>com.powernode.javaweb.servlet.RequestTestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>RTS</servlet-name>
        <url-pattern>/RTS</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>AServlet</servlet-name>
        <servlet-class>com.powernode.javaweb.servlet.AServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AServlet</servlet-name>
        <url-pattern>/AServlet</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>BServlet</servlet-name>
        <servlet-class>com.powernode.javaweb.servlet.BServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>BServlet</servlet-name>
        <url-pattern>/BServlet</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>RTS</welcome-file>
    </welcome-file-list>
</web-app>
package com.powernode.javaweb.servlet;

import jakarta.servlet.ServletException;
import jakarta.servlet.http.*;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class RequestTestServlet extends HttpServlet
{
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.println(request);
        out.println("<br>");
        out.println(response);
        out.println("<br>");
        Map<String, String[]> parameterMap = request.getParameterMap();
        Set<String> strings = parameterMap.keySet();
        Iterator<String> iterator = strings.iterator();
        while (iterator.hasNext())
        {
            String next = iterator.next();
            out.println(next);
            String[] strings1 = parameterMap.get(next);
            for (int i = 0; i < strings1.length; i++) {
                out.println(strings1[i]);
            }
            out.println("<br>");
        }
        Enumeration<String> parameterNames = request.getParameterNames();
        while(parameterNames.hasMoreElements())
        {
            String s = parameterNames.nextElement();
            String[] strings1 = parameterMap.get(s);
            for (int i = 0; i < strings1.length; i++) {
                out.println(strings1[i]);
            }
            out.println("<br>");
        }
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String[] interests = request.getParameterValues("interest");
        for (int i = 0; i < interests.length; i++) {
            out.println(interests[i]);
        }
    }
}
package com.powernode.javaweb.servlet;

import jakarta.servlet.ServletException;
import jakarta.servlet.http.*;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class RequestTestServlet extends HttpServlet
{
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.println(request);
        out.println("<br>");
        out.println(response);
        out.println("<br>");
        Map<String, String[]> parameterMap = request.getParameterMap();
        Set<String> strings = parameterMap.keySet();
        Iterator<String> iterator = strings.iterator();
        while (iterator.hasNext())
        {
            String next = iterator.next();
            out.println(next);
            String[] strings1 = parameterMap.get(next);
            for (int i = 0; i < strings1.length; i++) {
                out.println(strings1[i]);
            }
            out.println("<br>");
        }
        Enumeration<String> parameterNames = request.getParameterNames();
        while(parameterNames.hasMoreElements())
        {
            String s = parameterNames.nextElement();
            String[] strings1 = parameterMap.get(s);
            for (int i = 0; i < strings1.length; i++) {
                out.println(strings1[i]);
            }
            out.println("<br>");
        }
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String[] interests = request.getParameterValues("interest");
        for (int i = 0; i < interests.length; i++) {
            out.println(interests[i]);
        }
    }
}

 

package com.powernode.javaweb.servlet;

import jakarta.servlet.*;
import jakarta.servlet.http.*;

import java.io.IOException;
import java.io.PrintWriter;

public class BServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.println(request.getAttribute("date"));
    }
}
package com.powernode.javaweb.servlet;

import jakarta.servlet.*;
import jakarta.servlet.http.*;

import java.io.IOException;
import java.io.PrintWriter;

public class BServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.println(request.getAttribute("date"));
    }
}
package com.powernode.javaweb.servlet;

import jakarta.servlet.*;
import jakarta.servlet.http.*;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

public class AServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Date date = new Date();
        request.setAttribute("date",date);
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.println(request.getAttribute("date"));
    }

}

 

package com.powernode.javaweb.servlet;

import jakarta.servlet.*;
import jakarta.servlet.http.*;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

public class AServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Date date = new Date();
        request.setAttribute("date",date);
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.println(request.getAttribute("date"));
    }

}

网站公告

今日签到

点亮在社区的每一天
去签到