【问题标题】:Servlet unavailable http 404Servlet 不可用 http 404
【发布时间】:2012-09-13 14:56:04
【问题描述】:

我只是在用 jsp 做实验,想在一个表格中显示所有条目,

我的servlet是这个

        package UserPass;

        import data.UserPassDb;
        import java.io.IOException;
        import javax.servlet.RequestDispatcher;
        import javax.servlet.ServletException;
        import javax.servlet.http.HttpServlet;
        import javax.servlet.http.HttpServletRequest;
        import javax.servlet.http.HttpServletResponse;

        /**
        *
        * @author One
        */
        public class UserPassController extends HttpServlet {


            @Override
            protected void doGet(HttpServletRequest request, HttpServletResponse response)
                    throws ServletException, IOException {

                doPost(request,response);
            }


            @Override
            protected void doPost(HttpServletRequest request, HttpServletResponse response)
                    throws ServletException, IOException {

                request.setAttribute("users", UserPassDb.selectAllUser());

                String forward = "/me/testpage.jsp";
                RequestDispatcher view = request.getRequestDispatcher(forward);
                view.forward(request, response);

            }



        }

还有我的测试页

     <a href="<c:url value='/test/TestServlet'/>">
      refresh
      </a><br><br>


    <c:forEach var="user" items="${users}">

        <c:out value="${user.user_name}"/> 

    </c:forEach>

谢谢大家.. 我正在做教程并尝试自己解决那些初学者问题,但一再失败:(

【问题讨论】:

  • 所以这里要做的是,加载 servlet 以获取保存用户数据的会话对象
  • “/test/TestServlet”是小程序的绝对路径还是相对路径?如果是这样,请删除前导斜杠。
  • 你能在这里发布你的 web.xml 配置文件吗
  • 它实际上是绝对的,尽管我无论如何都尝试过并且仍然相同..我的其他 servlet 也使用类似的路径结构
  • 将鼠标放在问题下方的[servlets] 标记上方,直到出现一个黑框,然后单击其中的info 链接。顺便说一句,“会话对象”这个短语在这里完全没有意义。

标签: jsp servlets jstl


【解决方案1】:

在您的类中添加注释@WebServlet("/TestServlet") 或在web.xml 中添加您的servlet。

尝试从浏览器访问 servlet,并检查是否可以访问 servlet。 (可能带有网址:http://localhost:8080/Test/TestServlet

【讨论】:

  • 问题是我有另一个包,购物车,效果很好,
  • 如果你在这里调用你的Cart servlet 而不是TestServlet 它会被调用吗?只是试图定位问题
  • 好吧,至少现在我知道代码本身没有问题,
  • 我的意思是它实际上是在提到 /me/test/TestServlet 不存在,奇怪.. 我想看看有什么问题我会继续发布
  • 这是一个长镜头,但有时你需要清理你的应用程序服务器,如果使用 tomcat,请检查 WEB-INF/classes 以查看 servlet 类是否存在,坦率地说我没有选择:P
【解决方案2】:

到目前为止我不知道为什么,但就是这样

     <a href="<c:url value='/TestServlet'/>" >

【讨论】:

  • 感谢大家的支持
  • 虽然不太高兴,servlet 没有显示任何内容!用户现在不显示:(
  • 我认为这实际上是错误的,有些事情是不对的......这样我没有得到错误但它并没有真正调用我认为的 Servlet,它不会重定向到所需的页面基本上是刷新同一页面。它只是对我/TestServlet 保持空白
猜你喜欢
  • 1970-01-01
  • 2012-06-01
  • 2018-07-15
  • 1970-01-01
  • 2012-06-16
  • 1970-01-01
  • 1970-01-01
  • 2021-07-27
相关资源
最近更新 更多