解决IDEA中新建(new)文件没有create new servlet的问题

如图这样的问题:新建servlet时没有快捷创建,以下是解决方法。

解决方法:

1.打开项目结构(Project Structure),在Mudules中选择当前项目模块,Sources资源下右击src勾选Sources

2. 在Facets下找到相应的项目,在Source Roots 勾选src目录下的路径,如图片中框出来的。如果跟着操作完没有效果,就重新勾选Java目录下的路径,如图片中第一个路径,重复以下操作。

3. 点击File下的Reload All from Disk,重新加载一下所有选项卡,加载完后,再new文件时,就有servlet的创建方式了。

 就可以解决了-》图中效果即可。

### 如何在 IntelliJ IDEA新建 Servlet #### 创建新项目 为了创建一个新的 Java Web 应用程序,在启动 IntelliJ IDEA 后应点击 `Create New Project`。随后,在左侧列表中选择 `Maven` 并勾选 `Create from archetype` 选项来构建基于 Maven 的项目结构[^2]。 #### 配置 Maven 设置 对于项目的依赖管理和构建过程,合理配置 Maven 是必要的。这涉及到设定 Maven 安装路径 (`Maven home path`) 和用户自定义设置文件的位置 (`User settings file`)。推荐的做法是将阿里云镜像加入到 `settings.xml` 文件中以便加速依赖下载速度。另外,还可以指定本地仓库位置 (`Local repository`) 来存储所下载的库文件[^3]。 #### 添加 Servlet 支持 当项目框架搭建完毕后,下一步是在 `pom.xml` 文件里引入 Servlet API 的依赖关系。这样做的目的是为了让应用程序能够识别并处理 HTTP 请求响应对象。以下是添加至 `pom.xml` 的一段 XML 片段: ```xml <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> ``` #### 编写 Servlet 类 接着就是编写实际业务逻辑所在的 Servlet 类了。这里给出一个简单的例子——名为 `HelloWorldServlet.java` 的类实现了最基本的 GET 方法请求处理器: ```java import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class HelloWorldServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); try (var writer = resp.getWriter()) { writer.println("<h1>Hello World!</h1>"); } } } ``` #### 修改 web.xml 进行映射 最后一步是要修改位于 `webapp/WEB-INF/web.xml` 下面的应用描述符文档,从而把刚才编写的 Servlet 注册进去并且为其分配 URL 路径模式。具体来说就是在该文件内增加如下所示的一组 `<servlet>` 及其对应的 `<servlet-mapping>` 元素[^1]: ```xml <servlet> <!-- 设置 servlet 名字 --> <servlet-name>helloServlet</servlet-name> <!-- 指定具体的 servlet 实现类 --> <servlet-class>HelloWorldServlet</servlet-class> </servlet> <servlet-mapping> <!-- 关联上面定义好的 servlet --> <servlet-name>helloServlet</servlet-name> <!-- 设定访问此 servlet 所需输入的相对地址 --> <url-pattern>/hello</url-pattern> </servlet-mapping> ``` 完成上述操作之后就可以运行服务器测试是否可以正常通过浏览器或者其他客户端工具访问 `/hello` 接口获取返回的信息了。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笨笨择一向上向善

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值