servlet学习笔记(二)

一、get提交和post的提交的区别:

  1. 从安全看 get < post 因为get 会把提交的信息显示到地址栏
  2. 从提交内容看 get < post ,get 一般不要大于2k,post理论上无限制,但是在实际 开发中,建议不要大于64k
  3. 从速度看 get>post
  4. get可以保留uri中的参数,利于收藏

二、servlet的细节问题

1. 一个已经注册的Servlet可以被多次映射即:

  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <!-- servlet的注册名 -->
    <servlet-name>MyServlet1</servlet-name>
    <!-- servlet类的全路径(包名+类名) -->
    <servlet-class>com.hsp.servlet.MyServlet1</servlet-class>
  </servlet>
<!-- 对一个已经注册的servlet的映射 -->
  <servlet-mapping>
  <!-- servelt的注册名 -->
    <servlet-name>MyServlet1</servlet-name>
  <!-- servlet的访问路径 -->
    <url-pattern>/MyServlet1</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
  <servlet-name>MyServlet1</servlet-name>
  <url-pattern>/hsp</url-pattern>
  </servlet-mapping>

2 . 当映射一个servlet时候,可以多层比如:

<url-pattern>/servlet/index.html</url-pattern>

从这里还可以看出,后缀名是 html 不一定就是 html,可能是假象.

3 . 使用通配符在servlet映射到URL中:

  • 第一种格式 .扩展名 比如 .do *.ss
  • 第二种格式 以 / 开头 同时以 /* 结尾 比如 /* /news/*

通配符练习题:
(1)Servlet1 映射到 /abc/*
(2)Servlet2 映射到 /*
(3)Servlet3 映射到 /abc
(4)Servlet4 映射到 *.do
问题(面试题):

  • 当请求URL为“/abc/a.html”,“/abc/”和“/”都匹配,哪个servlet响应
    Servlet引擎将调用Servlet1。
  • 当请求URL为“/abc”时,“/abc/*”和“/abc”都匹配,哪个servlet响应
    Servlet引擎将调用Servlet3。
  • 当请求URL为“/abc/a.do”时,“/abc/”和“.do”都匹配,哪个servlet响应
    Servlet引擎将调用Servlet1。
  • 当请求URL为“/a.do”时,“/”和“.do”都匹配,哪个servlet响应
    Servlet引擎将调用Servlet2。
  • 当请求URL为“/xxx/yyy/a.do”时,“/”和“.do”都匹配,哪个servlet响应
    Servlet引擎将调用Servlet2。
    在匹配的时候,要参考的标准:

  • 看谁的匹配度高,谁就被选择

  • *.扩展名 的优先级最低

三、getWriter()和getOutputStream()的区别

  1. getWriter() 用于向客户机回送字符数据
  2. getOutputStream() 返回的对象,可以回送字符数据,也可以回送字节数据(二进制数据):
OutputStream os=response.getOutputStream();
os.write("hello,world".getBytes());
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值