jsp跳转servlet找不到页面

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
图片说明
求大神说说这啥原因

6个回答

直接HelloServlet不用前面的包名

你hello2是工程名吗?如果是,那么你的myservlet又是什么,因为你的servlet注解url是HelloServlet;
所以你的访问要么是http://localhost:8080/hello2/HelloServlet,要么是http://localhost:8080/myservlet/HelloServlet;
你可以试试。

Neoest
Neoest 这样呀!谢谢指教。
4 年多之前 回复
w172087242
little_how 回复Neoest: 超链接表示的是get请求,form表单只是包装了请求而已,实质都是发起的http请求,没什么区别,唯一区别form有表单,form可以提供post的请求而已
4 年多之前 回复
Neoest
Neoest 你要访问servlet不能用超链接的,没有请求,request不生效的吧!你要测试这个servlet可以弄一个form表单,一个submit来提交,form表单一个action属性的值写成这个servlet的路径,就可以了。这样直接超链接是直接联通了。
4 年多之前 回复
w172087242
little_how 回复Angry_Ants: 访问跟包名不会有关系的,只会跟注解有关系,这样要么是容器没有扫描到你的servlet,要么是你的servlet没有部署进去
4 年多之前 回复
p011235
Angry_Ants 然而并没有用
4 年多之前 回复
p011235
Angry_Ants hello2是工程名,myservlet是包名
4 年多之前 回复

看了半天我是没看懂,目测你这是响应servlet吧!你要让他显示东西得在里面拼接页面的,而不是单纯的一句话,至于在项目中没有classes文件,我建议你去服务器上面找,在服务器什么编译的,,tomcat去webapps里面找到对应的项目名,然后根据你的bulidpath去找,肯定有。

p011235
Angry_Ants 我只要能够有输出就可以了
4 年多之前 回复

还有一点就是,超链接访问servlet,,,说真的我真没有这样用过,,你这样是没有请求的,肯定会报错,

p011235
Angry_Ants 那怎么使用啊
4 年多之前 回复

先Clean 下项目, 估计是其他缓存文件导致服务器出错

你可以试一下little_how的建议,我觉的可能也是这个问题。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐