java服务器servlet学习

servlet解决线程安全问题的操作
1:设定局部变量 性能好
2:方法加同步(第一个线程没有使用完方法,第2个线程不能进来),性能差

servle的生命周期
创建对象
init初始化
servlet方法request请求 和response 响应
destroy方法销毁
gc回收


servlet基本配置
需要注意2点
1:<servlet-mapping>里面的name要和servlet中的name必须一样
2:<servlet-mapping>里面的url-pattern里面的必须要加(/)

都是通过反射找到对象

<!--完成匹配-->1
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>全路径
</servlet-mapping>

<!--目录匹配-->2
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld/*</url-pattern>只要满足第一个一样后面目录乱输入都可以
</servlet-mapping>


<!--扩展名匹配-->3
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>*.jsp</url-pattern>以后缀名jsp就可以查询到
</servlet-mapping>

查找顺序:1--2--3

优先级一般的判定方式:范围小的优先级最高,范围大的优先级低

如果一个请求可以匹配多个目录,容器会选择最长的目录匹配


<!-- 配置初始化参数,可以1条可以多条 -->
<init-param>
<param-name>mali</param-name>
<param-value>123456@qq.com</param-value>
</init-param>

servlet3.0新特性
1:annotation注解支持
2:模块化编程
3:servlet异步处理
4:异步Listener
5:文件上传api简化

tomcat7.0.5以上版本才支持servlet3.0


servletContext的应用上下文
1:属于整个web程序 不管他怎么样,在这个过程中只能才生一个对象,直到web程序关闭
2:可以访问到web程序资源的本地输入流
3:把资源的虚拟路径换位物理路径 使用getRealPath()方法
4:记录时间日志
5:绑定一个对象在整个web应用程序中共享

tomcat对web-inf里面的资源都是受保护的
重定向:调用sendRedirect()方法,重定向的作用就是跳转页面和跳转servlet


response响应可以响应2种格式
1:普通文本格式
2:2进制格式

posted @ 2019-12-15 20:21  虚无之境的学习  阅读(209)  评论(0)    收藏  举报