Servelt

一、servlet规范

(1)JAVASE规范和JAVAEE规范

1.JAVASE规范 : 指定Java基本开发的规则

2.JAVAEE规范 :指定Java与不同服务器之间进行联合开发时遵守规则。13种。

之前学习的JDBC规范就是13种规范的一种

(2)Servlet规范

1.指定了Java与Http服务器联合开发时遵守的规则

2.细节:

  1. 1)通知开发人员,如何开发一个作为动态资源文件的Java
  2. 2)通知Http服务器如何管理调用动态资源文件

(3)Servlet接口实现类的开发步骤

只有作为Servlet接口的实现类才有资格作为动态资源文件

Servlet接口由Http服务器厂商负责提供

Tomcat/lib/servlet-api.jar.Servlet接口来自于这个包

(4)具体开发步骤

二、Servlet的Httpservletrequest接口

  1. import javax.servlet.http.*;
  2. import java.io.IOException;
  3. /*
  4. * 问题:
  5. * 以GET方式发送中文参数内容“老杨是正经人”时,得到正常结果
  6. * 以POST方式发送中文参数内容"老崔是个男人",得到【乱码】“è?????????????·???”
  7. *
  8. * 原因:
  9. *
  10. * 浏览器以GET方式发送请求,请求参数保存在【请求头】,在Http请求协议包到达Http服务器之后,第一件事就是进行解码
  11. * 请求头二进制内容由Tomcat负责解码,Tomcat9.0默认使用【utf-8】字符集,可以解释一切国家文字
  12. *
  13. * 浏览器以POST方式发送请求,请求参数保存在【请求体】,在Http请求协议包到达Http服务器之后,第一件事就是进行解码
  14. * 请求体二进制内容由当前请求对象(request)负责解码。request默认使用[ISO-8859-1]字符集,一个东欧语系字符集
  15. * 此时如果请求体参数内容是中文,将无法解码只能得到乱码
  16. *
  17. * 解决方案:
  18. *
  19. * 在Post请求方式下,在读取请求体内容之前,应该通知请求对象使用utf-8字符集对请求体内容进行一次重新解码
  20. *
  21. *
  22. */
  23. public class ThreeServlet extends HttpServlet {
  24. @Override
  25. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  26. //通过请求对象,从请求头得到参数信息
  27. String userName = request.getParameter("userName");
  28. System.out.println("从请求头得到参数值:"+userName);
  29. }
  30. @Override
  31. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  32. //通知请求对象,使用utf-8字符集对请求体二进制内容进行一次重写解码
  33. request.setCharacterEncoding("utf-8");
  34. String value = request.getParameter("userName");
  35. System.out.println("从请求体得到参数值:"+value);
  36. }
  37. }

各种操作步骤

3.快速创建一个servlet的步骤

  1. 创建一个Java项目
  2. 在项目右键add Framewords Support
  3. 勾上Web Application:使其成为一个网站项目
  1. 在上方导航栏找到Run开关,配置Tomcat服务器开关,并将开关关联所运用的项目。

通过Application context给整个web项目起别名,就可以通过别名访问中文的web项目的名字,通过Tomcat开关控制它

  1. 添加项目源路径,以便能快速new出Servlet
  1. 加入Tomcat包
  1. new一个Servlet,如果不经过以上步骤则可能不会出现这个快捷选项。
  1. 记得将该create Java EE 选项框去掉。
  1. 编辑xml文件所创建的servlet文件添加别名,以便在浏览器中访问

至此,快速创建Servlet文件已完成,上面个个步骤不可少

1、修改配置使得文件不用每一次修改都重启Tomcat服务器