JavaWeb核⼼之Servlet
1. Servlet简介
动态页面 Servlet规范 Server + Applet
1.1 什么是Servlet
Servlet 运⾏在服务端的Java⼩程序,是sun公司提供⼀套规范(接⼝),⽤来处理客户端请求、 响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API动态的向客户端输出内 容。
servlet规范:包含三个技术点
- servlet技术
- filter技术---过滤器
- listener技术---监听器
1.2 Servlet快速⼊⻔
1.2.1 实现步骤
1.自定义类, 实现Servlet接口 ->一般叫servlet
2.主要实现3个方法 ,(一共有五个方法)
3.配置/注册Servlet 应用的web.xml 格式如下:
<servlet>
<servlet-name>自定义名字
<servlet-class>全限定类名
</servlet>
<servlet-mapping>
<servlet-name>上面的名字[自定义名字]
<url-pattern>/地址[自定义地址]
</servlet-mapping>
4. 访问: http://localhost:8080/day02_war_exploded/hello
解释:
day02_war_exploded : 是web应用名
/hello :是在web.xml文件已经配置好的servlet的自定义地址;注:实现Servlet接口的类不能在客户端直接被访问 ,只能通过自定义的地址来访问;
访问:可以通过 http://localhost:8080+应用的url+资源地址,
也可以可以通过 http://inter网IP:端口号+应用的url+资源地址 ->可以实现访问别人电脑服务器的内容(在同一个Internet或者WiFi)
但在实际开发中,我们不会直接去实现Servlet接⼝,因为那样需要覆盖的⽅法太多,我们⼀般创 建类继承HttpServlet,
实现步骤:
- 创建类继承HttpServlet类
- 覆盖doGet和doPost
- 在web.xml中进⾏servlet的配置
2.Servlet的配置
路径:
URL: http://localhost:8080/.... 绝对路径
URI: 以 / 开始的就是绝对路径
URI -> URL 协议://ip:port/URI
/应用名/xx资源
2.1 基本配置
在应用的web.xml 配置/注册Servlet:
urlpartten:Servlet访问路径,⼀个Servlet可以定义多个访问路径。
<!-- 配置/注册Servlet类,才能被服务器识别 -->
<servlet>
<!-- servlet 起名 -->
<servlet-name>Hello</servlet-name>
<!-- ⾃定义Servlet的全限定类名 -->
<servlet-class>demo.a_servlet.HelloServlet</servlet-class>
</servlet>
<!-- 配置servlet资源虚拟路径 -->
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<!-- 请求路径 -->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
url-pattern的书写
<!-- 1.精确匹配: 只能通过 /hello 访问 -->
<!-- 一个servlet资源可以对应多个url链接地址 -->
<url-pattern>/hello</url-pattern>
<!-- 2.使用通配符匹配(目录匹配) 可以通过 /hello/任意地址 来访问 -->
<url-pattern>/hello/*</url-pattern>
<!-- 3.后缀匹配 可以通过 任意名字.user 来访问 -->
<url-pattern>*.user</url-pattern>
url-pattern的书写方式:
1.精确匹配: 只能通过
<servlet>
<servlet-name>HelloKitty</servlet-name>
<servlet-class>a_quickstart.HelloKitty</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloKitty</servlet-name>
<!-- 1.精确匹配: 只能通过 /hello 访问 -->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<servlet>
<se