IDEA的Servlet类链接tomcat,我的第一个Web项目
本博客旨在研究tomcat服务器发布项目时遇到的问题,可能有错误可以指出
1.tomcat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
这里我的tomcat已经安装好了,直接startup.bat打开服务器,在浏览器输入http://localhost:8080/ 可以看到页面是这个样子
tomcat下载链接: https://tomcat.apache.org/download-80.cgi .
2.servlet
Servlet(Servlet Applet),全称Java Servlert .是用Java编写的服务器端程序。其主要功能在与交互式的浏览和修改数据,生成动态Web内容。狭义的servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet的类,一般情况下,人们将Servlet理解为后者。比如HttpServlet类继承自Servlet类,可以利用继承Http Servlet 来实现Http请求,当不是Http请求的时候,也可以定义其他形式的Servlet。
可以理解Servlet是java后台用于交互式浏览的接口和它的实现类
构建我的第一个web项目
首先打开IDEA集成开发工具,新建一个web项目
可以看到其中的目录结构:
- web.xml:管理servlet的配置文件
- index.jsp:默认访问的主页
- src:项目和资源目录
在src下面新建一个com.my.MyServlet继承HttpServlet类,该类实现了Servlet接口
可以看到这里没法导入HttpServlet包,所以我们要把tomcat的jakarta.servlet.ServletException包导入进来,这里我使用的版本是9.0版本,以往的版本都存在tomcat的javax里面
setting->project structrue->libraries 点加号,找到tomcat下的包
导入这个jar包,现在在HttpServlet按alt+enter就能导入这个包了。
重写service方法,可以看到方法里传入HttpServletRequest 和 HttpServletResponse 分别用来处理请求和响应。
代码如下:
package com.my;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
public class MyServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().print("this is my first web project");
}
}
现在我们要关联tomcat和IDEA,让我们能在IDEA下面搭建tomcat项目
IDEA配置关联tomcat
run->Edit Configurations
点加号,找到Tomcat Server 的local,点击确定
找到你下载的Tomcat的地址,点击确定
刚才连接了IDEA和Tomcat,再把项目链接到Tomcat上
再点击Deployment,点击加号,自动把项目链接到tomcat
显示为热部署,此时项目部署在project下面
再选择部署路径,把项目部署到tomcat下面的webapps
->project structure->artifacts,在这里更改路径为apache-tomcat-9.0.37\webapps\MyFirstWeb
在web.xml中配置好servlet的uri
<?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-name>servlet</servlet-name>
<servlet-class>com.my.Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet</servlet-name>
<url-pattern>/ser</url-pattern>
</servlet-mapping>
</web-app>
点击run启动,可以看到,我们的第一个web项目已经部署好了
配置web.xml中servlet的uri,让服务器可以通过uri访问MyServlet