山西做网站的,怎么在百度首页做网站,温州微信网站开发,小企业官方网站制作1.HttpServletRequest 类a)HttpServletRequest 类有什么作用。每次只要有请求进入 Tomcat 服务器#xff0c;Tomcat 服务器就会把请求过来的 HTTP 协议信息解析好封装到 Request 对象中。 然后传递到 service 方法(doGet 和 doPost)中给我们使用。我们可以通过 HttpServletReq…1.HttpServletRequest 类a)HttpServletRequest 类有什么作用。每次只要有请求进入 Tomcat 服务器Tomcat 服务器就会把请求过来的 HTTP 协议信息解析好封装到 Request 对象中。 然后传递到 service 方法(doGet 和 doPost)中给我们使用。我们可以通过 HttpServletRequest 对象获取到所有请求的 信息。b)HttpServletRequest 类的常用方法序号方法名作用1getRequstURI()获取请求的资源路径2getRequestURL()获取请求的统一资源定位符(绝对路径)3getRemoteHost()获取客户端的IP地址4getHeader()获取请求头5getParameter()获取请求参数6getParameterValues()获取请求参数(多个值的时候使用)7getMethod()获取请求方式get或post8setAttribute(key,value)获取域数据9getAttribute(key)获取域数据10getRequestDispacher()获取请求转发对象常用 API 示例代码public class RequestAPIServlet extends HttpServlet{Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{// i.getRequestURI() 获取请求的资源路径System.out.println(URI req.getRequestURI());// ii.getRequestURL() 获取请求的统一资源定位符(绝对路径)System.out.println(URL req.getRequestURL());// iii.getRemoteHost() 获取客户端的 ip 地址/*** 在 IDEA 中使用 localhost 访问时得到的客户端 ip 地址是 127.0.0.1* 在 IDEA 中使用 127.0.0.1 访问时得到的客户端 ip 地址是 127.0.0.1* 在 IDEA 中使用 真实 ip 访问时得到的客户端 ip 地址是 真实的客户端 ip 地址*/System.out.println(客户端 ip 地址 req.getRemoteHost());// iv.getHeader() 获取请求头System.out.println(请求头 User-Agent req.getHeader(User-Agent));// vii.getMethod() 获取请求的方式 GET 或 POSTSystem.out.println( 请求的方式 req.getMethod() );}}c)如何获取请求参数表单用户名密码兴趣爱好CJavaJavaScriptJava 代码public class ParameterServlet extends HttpServlet{Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{// 获取请求参数String username req.getParameter(username);String password req.getParameter(password);String[] hobby req.getParameterValues(hobby);System.out.println(用户名 username);System.out.println(密码 password);System.out.println(兴趣爱好 Arrays.asList(hobby));}}doGet 请求的中文乱码解决// 获取请求参数String username req.getParameter(username);//1 先以 iso8859-1 进行编码//2 再以 utf-8 进行解码username new String(username.getBytes(iso-8859-1), UTF-8);d)POST 请求的中文乱码解决Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{// 设置请求体的字符集为 UTF-8从而解决 post 请求的中文乱码问题req.setCharacterEncoding(UTF-8);System.out.println(-------------doPost------------);// 获取请求参数String username req.getParameter(username);String password req.getParameter(password);String[] hobby req.getParameterValues(hobby);System.out.println(用户名 username);System.out.println(密码 password);System.out.println(兴趣爱好 Arrays.asList(hobby));}e)请求的转发什么是请求的转发?请求转发是指服务器收到请求后从一次资源跳转到另一个资源的操作叫请求转发。Servlet1 代码public class Servlet1 extends HttpServlet{Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{// 获取请求的参数(办事的材料)查看String username req.getParameter(username);System.out.println(在 Servlet1(柜台 1)中查看参数(材料) username);// 给材料 盖一个章并传递到 Servlet2(柜台 2)去查看req.setAttribute(key1,柜台 1 的章);// 问路Servlet2(柜台 2)怎么走/*** 请求转发必须要以斜杠打头/ 斜杠表示地址为http://ip:port/工程名/ , 映射到 IDEA 代码的 web 目录**/RequestDispatcher requestDispatcher req.getRequestDispatcher(/servlet2);// RequestDispatcher requestDispatcher req.getRequestDispatcher(http://www.baidu.com);// 走向 Sevlet2(柜台 2)requestDispatcher.forward(req,resp);}}Servlet2 代码public class Servlet2 extends HttpServlet{Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{// 获取请求的参数(办事的材料)查看String username req.getParameter(username);System.out.println(在 Servlet2(柜台 2)中查看参数(材料) username);// 查看 柜台 1 是否有盖章Object key1 req.getAttribute(key1);System.out.println(柜台 1 是否有章 key1);// 处理自己的业务System.out.println(Servlet2 处理自己的业务 );}}f) base 标签的作用Title这是 a 下的 b 下的 c.html 页面跳回首页g)Web 中的相对路径和绝对路径在 javaWeb 中路径分为相对路径和绝对路径两种相对路径是[.]表示当前路径[..]表示上一级目录[资源名]表示当前路径/资源名绝对路径http://ip:port/工程路径/资源路径实际开发中路径使用绝对路径而不简单的使用相对路径。1、绝对路径。2、base相对路径。h)web 中 / 斜杠的不同意义在 web 中 / 斜杠 是一种绝对路径。/ 斜杠 如果被浏览器解析得到的地址是http://ip:port/例如斜杠/ 斜杠 如果被服务器解析得到的地址是http://ip:port/工程路径/servlet1servletContext.getRealPath(“/”);request.getRequestDispatcher(“/”);特殊情况 response.sendRediect(“/”); 把斜杠发送给浏览器解析。得到 http://ip:port/2.HttpServletResponse 类a)HttpServletResponse 类的作用HttpServletResponse 类和 HttpServletRequest 类一样。每次请求进来Tomcat 服务器都会创建一个 Response 对象传 递给 Servlet 程序去使用。HttpServletRequest 表示请求过来的信息HttpServletResponse 表示所有响应的信息 我们如果需要设置返回给客户端的信息都可以通过 HttpServletResponse 对象来进行设置.b)两个输出流的说明。字节流getOutputStream(); 常用于下载(传递二进制数据)字符流getWriter(); 常用于回传字符串(常用)两个流同时只能使用一个。是用了字节流就不能在使用字符流。反之亦然否则就会报错。c)如何往客户端回传数据要求 往客户端回传 字符串 数据。public class ResponseIOServlet extends HttpServlet{Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{// 要求 往客户端回传 字符串 数据。PrintWriter writer resp.getWriter();writer.write(responses content!!!);}}d)响应的乱码解决解决响应中文乱码方案一(不推荐使用)// 设置服务器字符集为 UTF-8resp.setCharacterEncoding(UTF-8);// 通过响应头设置浏览器也使用 UTF-8 字符集resp.setHeader(Content-Type, text/html; charsetUTF-8);解决响应中文乱码方案二(推荐)// 它会同时设置服务器和客户端都使用 UTF-8 字符集还设置了响应头// 此方法一定要在获取流对象之前调用才有效resp.setContentType(text/html; charsetUTF-8);e)请求重定向请求重定向是指客户端给服务器发请求然后服务器告诉客户端说。我给你一些地址。你去新地址访问。叫请求 重定向(因为之前的地址可能已经被废弃)。请求重定向的第一种方案// 设置响应状态码 302 表示重定向(已搬迁)resp.setStatus(302);// 设置响应头说明 新的地址在哪里resp.setHeader(Location, http://localhost:8080);请求重定向的第二种方案(推荐使用)resp.sendRedirect(http://localhost:8080);文章来源: blog.csdn.net作者轻狂书生FS版权归原作者所有如需转载请联系作者。原文链接blog.csdn.net/LookForDream_/article/details/105504284