Servlt入门

java的两种体系结构

C/S (客户端/服务器)体系结构  通讯效率高且安全,但系统占用多

B/S (浏览器/服务器)体系结构    节约开发成本

C/S (客户端/服务器)体系结构  通讯效率高且安全,但系统占用多

B/S (浏览器/服务器)体系结构    节约开发成本

http协议

    http请求

       请求行  请求头请求正文

       请求行包括:请求类型路径协议(http1.1)

       get无请求正文,内容直接拼接在请求头中

http响应

状态行、响应头、响应正文

       状态行包括:协议响应码(200) 响应说明(OK/notfund)

请求头中   Referer字段值为上一输入的地址

响应头中   Location字段用于跳转页面

Refresh字段用于自动跳转, html页面中 meta 标签实现

<meta http-equiv=” Refresh” content=”3”;url=”地址”>

servlet实现

1创建web项目

创建Dynamic Web project项目

设置项目名 选择Dynamic web module version为2.5版本

2次next后设置context root(外部访问名) (外部访问名前面不需要/)

注: 修改对项目外部访问名的方法:

右键Properties->Web Project Settings->Context root

2实现servlet实现

    1 创建class文件,文件的类继承HttpServlet,重写service方法

@Override

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

……处理代码

}

2 Servlet类实现类是无主方法的,根据服务器进行调用

    3 设置webContent\web-INF目录下的web.xml配置文件(web-app标签内)

<servlet>

<servlet-name>资源名</servlet-name>

<servlet-class>class类路径</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>资源名同上</servlet-name>

<url-pattern>/资源外部访问名</url-pattern>

</servlet-mapping>

注:

1 <url-pattern>的值前面要加"/"

2 若存在多个同资源名的<servlet-mapping>则都指向相同的<servlet>

3 <servlet>标签中的<servlet-name>不可重复

4 <url-pattern>资源外部访问名不能重名

5 修改xml需要重启服务器

6 url-pattern可以设置多个访问路径

"*"通配符,匹配所有

只能放在最前面或者最后面,不能单独使用,不能放在中间,不能和字母拼接

越精准,优先级越高

/路径/*  : 只要访问的路径中包含"路径",都可以访问

*.后缀 : 只要是以指定后缀结尾的路径,都可以访问

/*     : 任意路径,都可以访问

7 <servlet>标签中设置servlet启动优先级

<load-on-startup>3</load-on-startup> 值越小优先级越高,先执行

8 <servlet>标签中设置初始化参数(可设多个<init-param>,结构key-value)

<init-param>

<param-name>encode</param-name>

<param-value>UTF-8</param-value>

</init-param>

9  同一个<servlet-mapping>可设置多个<url-pattern>路径

<!-- 配置多个路径  -->

<url-pattern>/ser005</url-pattern>

<!--  访问指定目录  -->

<url-pattern>/test/*</url-pattern>

<!-- 以指定后缀结尾的路径  -->

<url-pattern>*.do</url-pattern>

<!-- 访问所有路径 -->

<url-pattern>/*</url-pattern>

servlet实现类

1继承HttpServlet,重写service方法

2实现Servlet接口

重写全部接口方法

init()             初始化时执行的代码(只在初始化时执行一次)

destroy()            在servlet销毁时执行的方法(销毁时执行一次)

getServletConfig()  配置信息

getServletInfo()     服务器版本信息

service()            执行的功能代码

3继承GenericServlet类

重写service()方法

4多个实现类的关联

(HttpServlet) extends (GenericServlet) implements (Servlet)

 

3外部servlet访问

外部访问: http://域名(主机名,ip,自定义名):端口/项目访问名/资源访问名

最新文章

  1. MVC中使用Entity Framework 基于方法的查询学习笔记 (一)
  2. ICSharpCode.SharpZipLib.dll 移植WP
  3. RL中“#” “?” &amp;“”号的作用
  4. V$RMAN_BACKUP_JOB_DETAILS
  5. WPF快速入门系列(6)——WPF资源和样式
  6. 如何优化tomcat配置(从内存、并发、缓存4个方面)优化
  7. Unity-Animator深入系列---deltaPosition&amp;deltaRotation
  8. eclipse 设置jvm 内存
  9. 软技能:十步学习法 (zhuan)
  10. 水晶报表连接Oracle做数据报表笔记
  11. php获取指定日期所在星期的开始时间与结束时间
  12. [HTML5] Emmet
  13. Jquery时间段选择器
  14. 重新签名apk文件(手工用命令行)
  15. WeMall微信商城签到插件Sign的主要源码
  16. FFmpeg开发实战(六):使用 FFmpeg 将YUV数据编码为视频文件
  17. 腾讯云申请SSL证书与Nginx配置Https
  18. 浅谈Java内存模型
  19. C# 之 Structure 和 Class的区别
  20. iis发布----在XP中发布高版本web遇到问题总结

热门文章

  1. 微信小程序中的左右联动
  2. 全排列(dfs-有重复数字)
  3. windows redis启动
  4. 在SQL2005中修改数据库名称
  5. Mike and Foam(位运算)
  6. 自定义jstl标签*
  7. 【译】从 Rust 到不只是 Rust:PHP 语言领域
  8. Junit +cucumber 运行报错 initiallizationError
  9. vue项目接入markdown
  10. 【C语言】已知三角形三边长,求三角形面积