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.ServletContext;
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 doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out = resp.getWriter();
//获取客户端的IP地址
String remoteAddr = req.getRemoteAddr();
out.println(remoteAddr);
System.out.println(remoteAddr);
//设置请求体的字符集
//get在请求行上提交数据,post在请求体上提交数据,这个设置是针对post的
req.setCharacterEncoding("UTF-8");
}
// @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.ServletContext;
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 doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out = resp.getWriter();
//获取客户端的IP地址
String remoteAddr = req.getRemoteAddr();
out.println(remoteAddr);
System.out.println(remoteAddr);
//设置请求体的字符集
//get在请求行上提交数据,post在请求体上提交数据,这个设置是针对post的
req.setCharacterEncoding("UTF-8");
}
// @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"));
request.getRequestDispatcher("/Welcome.html").forward(request,response);
}
}
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"));
request.getRequestDispatcher("/Welcome.html").forward(request,response);
}
}
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"));
//Servlet对象不能由程序员创建,没有放进tomcat容器内
//第一步获取请求转发器对象
// RequestDispatcher requestDispatcher = request.getRequestDispatcher("/BServlet");
//把下一个跳转的资源包装为一个对象告知tomcat服务器
// requestDispatcher.forward(request,response);
request.getRequestDispatcher("/BServlet").forward(request,response);
}
}
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"));
//Servlet对象不能由程序员创建,没有放进tomcat容器内
//第一步获取请求转发器对象
// RequestDispatcher requestDispatcher = request.getRequestDispatcher("/BServlet");
//把下一个跳转的资源包装为一个对象告知tomcat服务器
// requestDispatcher.forward(request,response);
request.getRequestDispatcher("/BServlet").forward(request,response);
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>注册页面</h1><br>
<form action="/RTS" method="post">
名字:<input type="text" name="name"><br>
密码:<input type="password" name="password"><br>
aihao:<input type="checkbox" name="aihao" value="a"><br>
<input type="checkbox" name="aihao"value="i"><br>
<input type="checkbox" name="aihao" value="h"><br>
<input type="submit" value="submit"><br>
</form>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>注册页面</h1><br>
<form action="/RTS" method="post">
名字:<input type="text" name="name"><br>
密码:<input type="password" name="password"><br>
aihao:<input type="checkbox" name="aihao" value="a"><br>
<input type="checkbox" name="aihao"value="i"><br>
<input type="checkbox" name="aihao" value="h"><br>
<input type="submit" value="submit"><br>
</form>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Welcome</title>
</head>
<body>
<h1>welcome</h1>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Welcome</title>
</head>
<body>
<h1>welcome</h1>
</body>
</html>