JavaWeb开发(三)Servlet技术-手动、自动创建Servlet
1. Servlet技术
1.1. Servlet介绍
1.1.1. 什么是Servlet
Servlet(Server Applet),全称Java Servlet。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
Servlet是JavaWeb的核心程序,是Java Web三大组件之一(Servlet,Filter,Listener)。
在HTTP请求过程中会把请求的参数存放在请求行的URL中,或者是请求体中,这个参数需要服务器来接收解析并处理,Servlet就是用来处理这个过程的。
1.1.2. Servlet作用
用来处理客户端发送过来的请求,并对该请求做出响应。
(1)获取接收客户端发送来的请求数据
(2)处理请求
(3)将处理的结果通过响应发送到客户端
1.1.3. HttpServlet类找不到
(1)问题
idea配置tomcat,那么我们自己创建servlet时候想要继承 HttpServlet 类时,找不到。
(2)解决方案
File–>Project Structure…
1.2. 手动编写Servlet
Servlet程序必须编写实现类。
(1) 在src下新建一个包(如com.zzs.szy);
(2) 新建一个类(如HelloServlet),继承HttpServlet;
(3) 重写doGet,doPost方法;
// src/com.zzs.szy/HelloServlet
package com.zzs.szy;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
System.out.println("接受的get方法");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
System.out.println("接受的post方法");
}
}
(4) 配置web.xml文件
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.zzs.szy.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/hi</url-pattern>
</servlet-mapping>
(5) 配置访问路径
(6)部署后输入网址,控制台出现打印数据
说明
标签用于注册servlet
第一步
<url-pattern>/hi</url-pattern>
第二步
<servlet-name>helloServlet</servlet-name>
第三步
<servlet-class>com.zzs.servlet.HelloServlet</servlet-class>
第四步
<servlet-name>helloServlet</servlet-name>
1.3. 使用Servlet4.0自动创建Servlet
(1)创建项目时候选择
(2)找到包名右键new–>Create new Servlet
(3)和手动创建不同的是多了个注解,不用在web.xml配置注册
(4)配置访问路径
(5)部署后浏览器访问运行,在控制台可看到打印数据。