Servlet容器介绍
Sercvlet是基于java的动态网站开发技术,其所有类和组件都是基于java实现的,要想使用Servlet,就必须提前配置好java运行环境。Servlet基于java,可以使用几乎全部的java API,所以它的功能异常强大,完全可以胜任企业级开发,能够处理那些高并发、大吞吐量、业务逻辑复杂的应用场景。
搭建好java环境后,再安装一款web容器就可以运行Servlet代码。市场上有很多web容器,其中使用最普遍就是tomcat。
Tomcat优点:是一款免费开源的web容器,其占用资源少,扩展性好,运行稳定。
补充:
第一代java web开发技术——Servlet
第二代java web开发技术——JSP
现在的java web开发技术——各种框架
1、Tomcat下载与安装
下载地址:Apache Tomcat® - Welcome!
在下载tomcat的时候,需要将Tomcat版本与java的版本对应起来。详细信息,可以再网上搜索。其中jdk8对应的版本是:Tomcat9。
2.Tomcat目录结构
(1)bin目录:用来存放Tomcat命令,主要分为两大类。一类是以.sh结尾的linux命令,另一类是以.bat结尾的windows命令。
conf目录:主要是用例存放Tomcat的配置文件,下面是常用到的几个文件:
(2)server.xml:用来设置域名、IP、端口号、默认加载的项目、请求编码等;
context.xml:用来配置数据源等;
tomcat-users.xml:用来配置和管理Tomcat的用户与权限;
web.xml:可以设置Tomcat支持的文件类型;
(3)lib目录:主要用来存放Tomcat运行需要加载的jar包。
(4)logs目录:用来存放Tomat在运行过程中产生的日志文件,清空该目录中的文件不会对Tomcat的运行带来影响。
(5)temp目录:用于存放Tomcat在运行过程中产生的临时文件。
(6)work目录:用来存放Tomcat在运行时的编译文件。
3.Tomcat服务器配置
修改端口密码:找到tom目录/conf/server.xml。修改port的值,将port端口值修改为80.

只用修改用红笔画出的部分即可。
4.Tomcat服务器部署项目
方式1:直接在Tomcat webapps目录创建一个文件夹
方式2:在tomcat目录/conf/server.xml配置。在server.xml文件中找到hsot标签,在host标签中添加Context标签,并且在Context标签中指定path=“浏览器要访问的目录----虚拟目录”和doBase=“网站所在磁盘目录”
5、Servlet环境部署
环境搭建流程
项目中创建libs目录存放第三方jar包;
导入servlet-api.jar至libs中(可以从tomcat安装目录的lib目录获取)
创建servlet包,专门存放servlet代码
创建indexServlet实现Servlet重写方法
indexServlet类上加上@WebServlet("/miracle")注解定义URL访问路径
重写Servlet类中的services在service中编写动态资源
类IndexServlet中的内容为:
package com.web.servlet;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.rmi.server.ServerCloneException;
@WebServlet("/miracle")
public class IndexServlet implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException{ } //当Tomcat容器启动的时候,会自动进行初始化
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
//这个方法用于处理用户请求
String userName=servletRequest.getParameter("userName"); //获取浏览器用户输入的参数值
servletResponse.setContentType("text/html;charset=utf-8"); //设置Servlet的编码类型是html,编码格式为utf-8,避免出现乱码
PrintWriter writer =servletResponse.getWriter(); //获取io写入的方法
if ("xt".equals((userName))){
writer.println("可以访问");
}else{
writer.println("不可以访问");
}
writer.close();
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
项目结构为:

访问网址为:localhost:8080/Tomcat_test2_war_exploded/miracle?userName=xt
Servlet的配置——基于web.xml

Servlet访问流程




















