Servlet和Tomcat概述
Java分为JavaSE,JavaEE,以及JavaMe,分别是基础、企业、微型。
JavaSE是SUN公司为程序员提供的一套基本类库,内容包括Java基础语法、面向对象、异常、IO、集合、多线程、反射、注解等;
而javaEE是SUN公司为程序员提供的另外一套类库,用于帮助Java程序员完成企业级项目的开发。
先看一下B/S架构的开发流程:
http协议:是超文本传输协议,是W3C制定的一套协议,用于互联网中浏览器和服务器的通信协议。
而servlet是什么呢?
1.什么是servlet?
servlet是serv+let,即服务器端小程序。顾名思义,servlet是在服务器中运行的java语言编写的小程序。
servlet和JDBC一样,都是SUN公司制定的一套接口,JDBC中我们是接口的调用者,而servlet中,我们是接口的实现者。
模拟servlet本质:
(1)模拟SUN公司制定接口:
public interface Servlet {
public void service();
}
(2)实现接口:
LoginService:
public class LoginService implements Servlet {
@Override
public void service() {
System.out.println("loginService");
}
}
LogoutService:
public class LogoutService implements Servlet {
@Override
public void service() {
System.out.println("logoutService");
}
}
(3)模拟服务器:
public class WebServer {
public static void main(String[] args) {
//Web服务器首先要获取到请求路径
Scanner scanner = new Scanner(System.in);
System.out.println("服务器启动成功!");
System.out.println("请输入您要访问的资源:");
String pattern = scanner.next();
System.out.println("您要访问的资源路径是:"+pattern);
}
}
服务器启动成功!
请输入您要访问的资源:
/loginService
您要访问的资源路径是:/loginService
此时服务器是可以获取到请求路径的,但是获取到了请求路径还不够,我们还需要知道请求路径所对应的是需要调用实现的哪一个servlet,所以此时就必须有一个配置文件来维护servlet和路径之间的关系:
web.xml:
/loginService = com.dh.LoginService
/logoutService = com.dh.LogoutService
此时再读取配置文件,通过配置文件找到对应的类,通过反射实例化对象,然后通过对象执行类中的方法:
public class WebServer {
public static void main(String[] args) throws IOException, ClassNotFoundException, IllegalAccessException, InstantiationException {
//Web服务器首先要获取到请求路径
Scanner scanner = new Scanner(System.in);
System.out.println("服务器启动成功!");
System.out.println("请输入您要访问的资源:");
String pattern = scanner.next();
System.out.println("您要访问的资源路径是:"+pattern);
//读取配置文件
FileInputStream fis = new FileInputStream("web.properties");
Properties properties = new Properties();
properties.load(fis);
//获得路径对应的类
String className = properties.getProperty(pattern);
Class c = Class.forName(className);
Servlet servlet = (Servlet) c.newInstance();
servlet.service();
}
}
服务器启动成功!
请输入您要访问的资源:
/loginService
您要访问的资源路径是:/loginService
loginService
所以SUN公司:已经为我们写好了一套的servlet接口;
我们需要做的就是:实现接口,根据业务去编写代码,以及编写路径与类名之间关系的文件,然后在浏览器中输入请求路径;
而服务器会:通过请求路径和路径与类名的文件去调用对应的类的对应的方法。
2.Tomcat服务器
上述我们一直在提到服务器,服务器有很多,而我们主要使用的就是Tomcat。
Tomcat可以直接在网上下载,附百度网盘连链接:(8版本,解压可用)
链接:https://pan.baidu.com/s/1CGgkbLnNiKQzxxLupE_Vzw
提取码:bcz7
Tomcat服务器是使用Java语言写的,所以要能运行Tomcat的话,必须在系统环境变量中配置了JAVA_HOME。
Tomcat目录:
其中bin文件夹中,有tomcat的执行文件和关闭文件:bat为Windows,sh为Linux
点击startup就可以开启tomcat服务器,点击shutdowm就可以关闭服务器,建议使用这种方式关闭,而不是直接关闭黑窗口。
在conf文件夹下,有tomcat的核心配置文件:server.xml,有tomcat的默认端口等配置(默认端口为8080),可以修改。
3.Tomcat服务器的使用
在开启Tomcat服务器后,就可以直接在浏览器输入:http://localhost:8080
如果有如上的小猫的页面,那么Tomcat服务器就正常启动没有问题了。
这个时候我们在webapps文件夹下新建一个html文件夹,里面存放hello.html文件:
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
http://localhost:8080相当于tomcat中的webapps文件夹,所以我们需要输入:http://localhost:8080/html/hello.html
我们就可以访问到我们所写的页面了:
其中ip地址是可以换的(如果你想访问别人的资源),localhost代表主机,也可以写127.0.0.1,端口可以通过conf文件夹下的server.xml修改。