Jakarta ee 在web项目中放置文件的正确结构
我对学习web开发非常陌生。我使用的是head first java,在阅读第一章的同时,我完全陷入了一个问题。因此,直奔问题: 我正在使用Apache-tomcat-7.0.55。在webapps文件夹中,我创建了我的项目,其文件夹结构如下:Jakarta ee 在web项目中放置文件的正确结构,jakarta-ee,servlets,web,Jakarta Ee,Servlets,Web,我对学习web开发非常陌生。我使用的是head first java,在阅读第一章的同时,我完全陷入了一个问题。因此,直奔问题: 我正在使用Apache-tomcat-7.0.55。在webapps文件夹中,我创建了我的项目,其文件夹结构如下: /path_to/apache-tomcat-7.0.55/webapps -- /ch1/`my project folder` --WEB-INF/ --
/path_to/apache-tomcat-7.0.55/webapps
-- /ch1/`my project folder`
--WEB-INF/ --web.xml
--classes/ --Ch1servlet.class
public class Ch1servlet extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
IOException{
PrintWriter out = response.getWriter();
java.util.Date today = new java.util.Date();
out.println("<html>" +
"<body>" +
"<h1 align=center>HF\'s Chapter1 Servlet</h1>" +
"<br>" + today + "</body>" + "</html>");
}
}
我的web.xml如下所示:
<?xml version="1.0" ?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4"
>
<servlet>
<servlet-name>Chapter1 Servlet</servlet-name>
<servlet-class>Ch1servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Chapter1 Servlet</servlet-name>
<url-pattern>/Serv1</url-pattern>
</servlet-mapping>
第一章Servlet
CH1服务
第一章Servlet
/服务1
Ch1servlet.java文件如下:
/path_to/apache-tomcat-7.0.55/webapps
-- /ch1/`my project folder`
--WEB-INF/ --web.xml
--classes/ --Ch1servlet.class
public class Ch1servlet extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
IOException{
PrintWriter out = response.getWriter();
java.util.Date today = new java.util.Date();
out.println("<html>" +
"<body>" +
"<h1 align=center>HF\'s Chapter1 Servlet</h1>" +
"<br>" + today + "</body>" + "</html>");
}
}
公共类Ch1servlet扩展了HttpServlet{
公共void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出
IOException{
PrintWriter out=response.getWriter();
java.util.Date today=new java.util.Date();
out.println(““+
"" +
“HF的第1章Servlet”+
“
”+今天+”+);
}
}
当我启动服务器并运行时,尝试触发URL
http://localhost:8080/ch1/Serv1
使用我的浏览器,我总是得到未找到的资源
错误。为什么会这样?我觉得我已经很好地遵循了书中指定的所有步骤。您应该将servlet类放在java包中。无包servlet是否工作取决于较旧的Tomcat和JVM版本的特定组合。在这里,我可以看到您正在使用一个相当新的Tomcat版本,而且如果您在一本书/教程中看到这个示例,那么它肯定已经过时了
package.com.example;
// ...
公共类Ch1Servlet扩展了HttpServlet{
// ...
}
如果web.xml正是您在服务器上拥有的web.xml,那么它就是格式不正确的xml,因为它在最后没有结束标记,因此web应用程序将不会被部署。哦,对不起,我在这里复制了错误的web.xml,但它有结束标记。启动tomcat时您有任何错误吗?如果是,请将其添加到您的问题中。否,tomcat正常启动。您的Ch1servlet.java类是否使用任何包?