一开始接触servlet是什么,它有有什么作用呢?
对于我们这些小白来说,很茫然,也很懵逼,也无从下手,最为致命!
说一说servlet在网页调用service方法的简单思路
先简单创建这个简单servlet吧!
项目结构
ServletDemo1类
package cn.tian.web.servlet;
import javax.servlet.*;
import java.io.IOException;
/**
* servlet快速入门
*/
public class ServletDemo1 implements Servlet {
//提供服务的方法
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Hello Servlet");
}
}
解释一下上面的java代码:首先Servlet这个是接口,就是已经弄好的方法,你无须new一个对象出来,可以直接调用,而且里面有很多方法,service只是其中的一个方法。
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">
<!--配置Servlet-->
<servlet>
<servlet-name>demo1</servlet-name>
<servlet-class>cn.tian.web.servlet.ServletDemo1</servlet-class>
</servlet>
<!--路径映射-->
<servlet-mapping>
<servlet-name>demo1</servlet-name>
<url-pattern>/demo1</url-pattern>
</servlet-mapping>
</web-app>
运行结果:网页会弹出空白页,只会在编辑器窗口打印出
Hello Servlet
那么说一说这个过程的思路图吧
首先我们运行这个项目,在浏览器写:http://localhost:8080/demo1,那么tomcat服务器(web服务器)收到了这个请求,就是把域名的demo1传递给到项目的web.xml配置文件中,让这个配置文件寻找demo1这个东东。
举个简单的例子吧:
浏览器------》自己本人
demo1(网址域名:http://localhost:8080/demo1)--------》扫地机器人
web.xml(配置文件)-------》我们自己喊扫地机器人声音传播路径就是我们的空气
ServletDemo1类---------》扫地机器人内部接收器
‘我’看到底下脏了,就叫一下’demo1’(在浏览器打下http://localhost:8080/demo1)
'demo1’这个声波就在’空气’传播
#web.xml文件为什么要这样写呢?
#先看一下映射路径那块:就是从服务器传来寻找/demo1的,就像我喊了/demo1时候,/demo1在空气传播,在寻找那个东西是demo1,在寻找过程中,发现demo1是扫地机器人。然后就是到时demo1,那么demo1指向那个实体呢,就继续寻找 配置块
#到配置Servlet那块:就像那个扫地机器人【机器人代表那个servlet类】(servlet-class)本来是没有名字,那么就起名为demo1(servlet-name);
demo1传到扫地机器人的接收器就开始做工了
机器人的接收器接到命令就,运行具体的方法进行活动