为什么新建一个项目就可以访问?而不报404

为什么新建一个项目就可以访问?而不报404

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Test</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
   
   <!-- 声明Servlet -->
  <servlet>
      <!-- servlet的别名 -->
      <servlet-name>first</servlet-name>
      <servlet-class>com.imooc.servlet.Test</servlet-class>
  </servlet>
   
  <!-- 将Servlet与URL绑定 -->
  <servlet-mapping>
      <servlet-name>first</servlet-name>
      <url-pattern>/hi</url-pattern>
  </servlet-mapping>
   
</web-app>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.imooc.servlet;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class Test extends HttpServlet{
 
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name=request.getParameter("name");
        String html="<h1 style='color:red'>hi,"+name+"!</h1><hr/>";
        System.out.println("返回给浏览器的响应数据为:"+html);
        PrintWriter out=response.getWriter();
        out.println(html);
    }
     
}

上面这个是新建的项目,可以访问。下面这个就不行,对比了好久也没看出来哪里不对。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>FistServlet</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
   
  <!-- 声明Servlet -->
  <servlet>
      <!-- servlet的别名 -->
      <servlet-name>first</servlet-name>
      <servlet-class>com.imooc.servlet.FirstServlet</servlet-class>
  </servlet>
   
  <!-- 将Servlet与URL绑定 -->
  <servlet-mapping>
      <servlet-name>first</servlet-name>
      <url-pattern>/hi</url-pattern>
  </servlet-mapping>
</web-app>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.imooc.servlet;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class FirstServlet extends HttpServlet{
 
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name=request.getParameter("name");
        String html="<h1 style='color:red'>hi,"+name+"!</h1><hr/>";
        System.out.println("返回给浏览器的响应数据为:"+html);
        PrintWriter out=response.getWriter();
        out.println(html);
    }
 
}

http://img1.sycdn.imooc.com//climg/5d577d4200010c8103210620.jpg

求解答。谢谢~

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕柯南 2019-08-17 13:41:21

同学你好!

  1. 同学是否将项目正常启动了呢

  2. 同学访问的地址分别是什么,有没有书写错误的现象

  3. 第一个的xml是创建项目时就创建好的,还是手动添加的,如果是手动添加的是不可以的

  4. 如果以上都正确,同学将项目clean重新编译一下。重新启动项目测试一下。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 润润润 #1
    1.正常启动; 2.访问的地址:localhost:8080/FirstServlet/hi?name=123; 3.xml不是手动添加的; 4.clean,重启过后还是不行。
    2019-08-18 11:35:45
  • 好帮手慕阿莹 回复 提问者 润润润 #2
    同学你好,有可能是Tomcat中没有正确编译FirstServlet,同学可以去tomcat的目录下的webapps或者wtpwebapps下找到这个项目,删除后,重新部署一下试试。祝学习愉快
    2019-08-18 15:51:32
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码