网站是如何访问的?
1.输入一个域名,回车
2.检查本机的C:\Windows\System32\drivers\etc\host配置文件下有没有这个域名映射;
①有:直接返回对应的IP地址,这个地址中,有我们需要访问的web程序,可以直接访问
②没有:去DNS服务器找,找到的话就返回,找不到就返回找不到
一、Servlet简介
-
Servlet就是Sun公司开发动态web的一门技术
-
Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤:
1.编写一个类,实现Servlet接口
2.把开发好的java类部署到web服务器中。
把实现了Servlet接口的Java程序叫做Servlet
准备:
在全局设置Maven
二、HelloServlet
1.构建一个空Maven项目(== 不要勾选create from archetype ==),直接next。
2.删掉里面的src目录,以后我们的学习就在这个项目里面建立module,这个空的工程就是Maven主工程
3.在pom.xml中添加sevrlet依赖和jsp依赖
<dependencies>
<!-- servlet依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl-api -->
<!-- jsp依赖-->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
</dependency>
</dependencies>
4.创建子模块
5.把子模块的web.xml换成最新版(可以去Tomcat文件夹把里面的web.xml内容粘贴过来)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0"
metadata-complete="true">
</web-app>
6.在子模块的main目录下新建java文件夹和resource文件夹
7.把java文件夹设置为Sources文件夹,把resource文件夹设置为Resource文件夹
8.编写一个普通类,实现Servlet接口,这里我们直接继承HttpServlet
(GenericServlet类实现了Servlet接口,而HttpServlet类继承了GenericServlet类)
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer = resp.getWriter();
writer.println("Hello Servlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
9.编写Servlet的映射
我们写的是Java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的Servlet,还需给它一个浏览器能够访问的路径
在子模块的web.xml文件中添加Servelet和Servlet映射
<!--注册Servlet-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.kuang.servlet.HelloServlet</servlet-class>
</servlet>
<!--Servlet的请求路径-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<!--浏览器输入的是这个映射的路径-->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
10.配置Tomcat(配置项目发布的路径)
可以改个名字
11.启动Tomcat,测试成功