记录一个通过eclipse启动Tomcat失败的案例
今天看了关于Cookie的视频,然后照着敲了一边,启动Servlet失败,懵了,
这是代码:
package com.jcy.Cookie;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class MyCookie
*/
@WebServlet("/mycookie")
public class MyCookie extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 创建
Cookie cookie = new Cookie("msg", "Hello Cookie");
//设置
cookie.setMaxAge(60*10); //设置有效时间10分钟
// Path="/Day36/src/com/jcy/Cookie/MyCookie" 表示访问MyCookie时才携带cookie
// '/' 表示根路径,表示所有请求都会携带Cookie的信息 一般使用默认,
//一旦设置有效路径,就需要手动删除
cookie.setPath("/");
//发送
response.addCookie(cookie);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
先上网搜了一下关于失败的原因,ok,和我这个都没关系,来来回回在xml文件里看了好几遍,没有问题,
突然想到上课时老师讲过关于启动失败的一个案例就是url重复了,什么意思?就是我在servlet代码中设置了url(就是在创建Servlet时,系统自动创建 的,@WebServlet(“/mycookie”)),在xml中又设置了url,导致报错,这个时候只需要把代码中的url注释掉即可。
更正一下自己浅薄的知识,servlet3.0以上的特性是注解,也就是说@WebServlet(“/mycookie”))是servlet添加的注解,算的上是新功能吧,会通过这个注解找到这个servlet。