JavaEE之 运行第一个Servlet

  • Post author:
  • Post category:java



上一节我们部署了Intellij IDEA的javaee开发环境(


https://mp.csdn.net/mp_blog/creation/editor/129393440


),这节我们来创建一个Servlet项目


一 ,


创建一个web项目

f4da20424225409eb449b59744ec453a.png

3117f8f9ee9740fa933ab45b5ff4470d.png

34a4ffaaa55d4822aa876dd3771625c5.png


二,配置tomcat运行环境

34ad2ae7692b44ccb62f2650e5011b3b.png

246d21239653488fa7b3640b83d7a7dc.png

d89fe57789664ed6b387ee3d27507e4a.png
f3123dd3aed64b8aa6a227c1599f7751.png

5c80d489ec8b4a4eb9fc5fa9655648bd.png

注意:没开启一个项目,端口都不能充重复,并且和默认的8080也不能重复


三,添加Servlet文件,配置servlet

3.1,把servlet jar包引用到项目里面,jar包在tomcat安装目录lib里面可以找到

07f2a5a33ffa43558a268e85a4885180.png

6264ddf910dc45cd914614fb163374e8.png

01e47095e85f436689e734378311f205.png

b5aa578a2d0a4ae8b87e2a2447882bb8.png

3.1创建包名以及java文件

11cce204780f477bb44578ebf65fae7a.png

1de0fd924c64410a98525863b046c51e.png

3.2  servlet映射配置

方法1:新版支持映射来完成请求路径

85a1579ab8614e669933b272ab4d0a54.png

方法2,在web.xml里面配置

77eaec4102b64bc3a67e9ee3dab914b9.png

3.3 jsp中引用servlet

9c1eaf456cf84fb6b658a2a5702d28bc.png

3.4 报错调整

404错误,路径不对,调整路径

619bd29d96c04f6d9c2150fbdc61edd8.png

405错误

检查jsp跳转请求的方法,<a>标签href跳转的默认方式为为GET,当跳转servlet时候,无DOGET方法即会报405错误!

3c020ba75c204d69acd235f470d45212.png

jsp跳转后还是405,发现跳转路径不对,这时候需要改web.xml的路径

fe948c3b75a64e84a678a69815d56311.png

4621211be18f47d99b2e1588b4e86ddd.png
5aa61223681e4bf68720961cf0888270.png

到此终于servlet运行成功了

ae506f04c3d14f6e99b688a831d1cddf.png


四,完整源码

web.xml

<?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>HelloServlet</servlet-name>-->
<!--        <servlet-class>com.demo.firstweb.HelloServlet</servlet-class>-->
<!--    </servlet>-->
<!--    <servlet-mapping>-->
<!--        <servlet-name>HelloServlet</servlet-name>-->
<!--        <url-pattern>/HelloServlet</url-pattern>-->
<!--    </servlet-mapping>-->
</web-app>

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>$Title$</title>
</head>
<body>
<a href="HelloServlet">get方式请求servlet</a>
<form action="HelloServlet" method="get">
    <input type="submit" value="get方式请求servlet">
</form>
</body>
</html>

HelloServlet.java

package com.demo.firstweb;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter out=resp.getWriter();
        out.print("Hello Servlet");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter out=resp.getWriter();
        out.print("Hello Servlet");
    }
}



五 运行项目异常处理

5.1 Tomcat 导入项目后配置时报错Warning:No artifacts configurae解决,运行tomcat后报错not found for the web module

5.2 打开项目配置,重新添加Facets

5.3 在弹出的框中选择当前项目,点击确定

5.4 右下角出现==‘Web’ Facet resources are not include in an artifact==,点击警告右边的按钮Fix

5.5 弹出以下选项,在前面 Artifacts 中创建的 course,点击右下角按钮Apply

5.6 看到可以运行成功



版权声明:本文为qq_29848853原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。