1 Servlet 是什么?
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
2 部署Tomcat并创建一个Servlet程序
2.1 创建一个普通的java程序
页面左上角,点击文件 -> 项目 -> 新建项目:
2.2 添加框架支持
为新建的名为Servlet_test的项目添加框架支持(Add Framework Support)
在Java EE下找到Web应用程序(Web Application)并勾选。
【Java EE是sun公司推出的企业级应用程序】
狭义的 Java EE 是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件,可以说是一个框架,也可以说是一种规范。广义的 Java EE 包含各种框架,其中最重要的就是 Spring 全家桶。Spring 诞生之初是为了改进 Java EE 开发的体验,后来逐渐成为了 Java Web 开发的实际标准。
可以看到,在左侧项目栏增加了一个web文件夹
2.3 配置项目
①在WEB-INF文件夹下创建两个文件夹:lib和classes,并在lib文件夹下添加Servlet-api.jar
在创建好Servlet程序后,会调用servlet-api.jar这个包,servlet要用到HttpServletRequest和HttpServletResponse等对象,这些对象都是要靠这个jar包使用的。如果安装了Tomcat,这个jar包一般在tomcat安装目录\lib 文件夹下面有,当你把web项目部署到tomcat,会自动加载这个jar包来识别Serlvet一些对象。
这里我们在自己的电脑上找到安装的Tomcat文件夹lib目录下的servlet-api.jar,并复制粘贴在java项目中的lib目录下:
2.4 重构项目
在最上方栏目中点击 文件 -> 项目结构(Project Structure)
更改模块(Modules)内容如下:
最后点击确定。
2.5 创建并编写一个Servlet程序
我们在创建的Servlet_test项目 -> src文件夹 -> main文件夹 -> java目录下,新建一个Servlet项目,并命名为FirstServlet:
下面, 编写一个Servlet程序:
import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.annotation.*;import java.io.IOException;import java.io.PrintWriter;@WebServlet(name = "FirstServlet", value = "/FirstServlet")public class FirstServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html"); PrintWriter out=response.getWriter(); out.print("<html>"); out.print("<body style=\"background-color:gray\">"); out.print("<h2 style=\"background-color:red\">background color</h2>"); out.print("<p style=\"background-color:yellow\">Hello World!</p>"); out.print("</body>"); out.print("</html>"); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }}
再在WEB-INF下的web.xml文件中添加映射:
在Sevlet程序中我们定义了一个FirstServlet类,那么在<servlet-class>中,我们的类名要和其保持一致。
<?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>helloworldservlet</servlet-name> <servlet-class>FirstServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>helloworldservlet</servlet-name> <url-pattern>/fs</url-pattern> </servlet-mapping></web-app>
2.6 配置Tomcat服务器
点击工件后,如下图,添加了一个对应的工件,部署完成,点击确定。
【注意,这里下方的“应用程序上下文”就是后续网页访问路径:http://localhost:8080/Servlet_test_war_exploded,也可以更改为别的名字】
服务器部分可以根据自己的需要进行修改,这里URL就是运行程序后的网页地址。【有错误,稍后说明】
视频教程推荐尚硅谷:115.尚硅谷_Tomcat-IDEA整合Tomcat服务器_哔哩哔哩_bilibili
2.7 运行程序
最后我们来运行一下这个Servlet程序,运行结束,自动跳转出一个网页,但显示的却是如下界面:
显然,这是有误的,我们的Servlet程序中应该会输出一个Hello World!,并有简单的css页面美化的设计,出现上述原因,我们可以回到2.6节最后一张图那个Tomcat服务器配置,根据我们的web.xml配置文件,在URL地址后添加 /fs (这个fs名字可以是任意的),指定访问的绝对地址。
【url-pattern这个配置项,通过URL访问到我们的servlet里,servlet会对http请求和相应进行处理】
至此,我们的第一个Servlet程序就完成了!
第二种创建方法
再补充一个更为简单的方法:
新建项目,选择Java Enterprise(Java EE),模块选择Web应用程序,并添加Tomcat服务器,相关选项如下:
点击下一步,相关规范下自动勾选上了Servlet,然后点击创建
创建成功: