我开始学习构建Java EE Web App并遵循使用Eclipse的教程,尽管我使用的是IntelliJ。
我已经构建了基本结构,可以成功运行Glassfish服务器,所以我在localhost上看到欢迎页面:8080
我在看到我的servlet输出时遇到了一些问题,但是当我得到404时。
当我转到http://localhost:8080/web1_war_exploded/时,我会看到index.jsp文件的输出
我想看到的是访问时我的AddPassenger类的HTML输出: http://localhost:8080/web1/AddPassenger。相反,我得到了404:
我认为我按照IntelliJ自己的说明配置了所有内容,并创建了.war和Manifest。我只是不清楚如何部署和查看我的AddPassenger servlet,简单地说:
@WebServlet(name = "/AddPassenger")
public class AddPassenger extends HttpServlet {
private static final long serialVersionUID = 1L;
public AddPassenger(){
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
response.setContentType("text/html");
out.println("<html><body>");
out.println("</body>");
out.println("<h2>Welcome to World Adventures Airlines!</h2>");
out.println("</html>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
这是我的项目结构:
答案 0 :(得分:0)
将@WebServlet(name = "/AddPassenger")
更改为@WebServlet(value = "/AddPassenger")
。在这种情况下,它应该适用于http://localhost:8080/web1_war_exploded/AddPassenger。
同样使用注释,无需在web.xml中声明servlet。并确保您的glassfish版本支持servlet 3.0。
要将网址路径从/web1_war_exploded/
更改为/web1/
,请转到文件 - &gt;项目结构并更改输出目录: