servlet没有.class文件,我也不知道怎么回事,说要配置web.xml文件的就不要来了
,因为是servlet3.0不需要配置,唉,直接上图吧,求大神指教
第一张是错误页面
第二张是跳转页面
接下来是servlet代码,这段代码没有生成.class文件
package myservlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloServlet
*/
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().println("My Servlet");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().print("My Servlet");
}
}
这张是Build Path的路径
这张是工程目录下的classes
求大神说说这啥原因
直接HelloServlet不用前面的包名
看了半天我是没看懂,目测你这是响应servlet吧!你要让他显示东西得在里面拼接页面的,而不是单纯的一句话,至于在项目中没有classes文件,我建议你去服务器上面找,在服务器什么编译的,,tomcat去webapps里面找到对应的项目名,然后根据你的bulidpath去找,肯定有。
还有一点就是,超链接访问servlet,,,说真的我真没有这样用过,,你这样是没有请求的,肯定会报错,
你hello2是工程名吗?如果是,那么你的myservlet又是什么,因为你的servlet注解url是HelloServlet;
所以你的访问要么是http://localhost:8080/hello2/HelloServlet,要么是http://localhost:8080/myservlet/HelloServlet;
你可以试试。
先Clean 下项目, 估计是其他缓存文件导致服务器出错
你可以试一下little_how的建议,我觉的可能也是这个问题。