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

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

<?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>
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);
	}
	
}

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

<?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>
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下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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