使用JavaServlets的多层自动动态网页创建:最佳实践

rqcrx0a6  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(146)

问题:我有一个关于作者、书籍和章节的数据库。在做了一些简短的研究之后,我决定在我的webapp中使用javaservlets。我的servlet应该为每个作者、他/她的书以及他们的书的章节分层地创建一个web页面。换句话说,当有人打电话来

url.com/books/oscar_wilde

然后,该网页在数据库中搜索oscar\u wilde,并使用数据库中的信息从模板中创建页面。当有人打电话时

url.com/books/oscar_wilde/dorian_gray

然后servlet搜索奥斯卡•王尔德的多里安•格雷的书中的章节。这是通过使用 urlPattern = "/books/*" 区分不同的情况(例如,如果请求四级url url.com/books/x/y 然后我们使用book html模板填充作者x和书籍y的数据;如果请求三级url url.com/books/x 然后我们使用authorxhtml模板)。
问题:由于我在web开发方面没有经验,所以在继续投入时间构建这种体系结构之前,我想问以下问题:
这是实现预期结果的最佳方法吗?也就是说,一个有经验的web开发人员会这样处理这个问题吗?
假设每个页面都应该有注解、赞和编辑功能,那么javaservlets是否适合这个任务?
我使用url通配符分区的原因是javaservlet不支持 urlPattern = "books/*/*" .
代码示例:如果上面的文本没有清楚地解释我的目标,我也将把这个代码模式留在这里。

@WebServlet(name = "LoadBook", description = "Loads authors, books, table of contents and exercises", urlPatterns = "/books/*")
public class books extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
String url = request.getPathInfo(); // Current URL
String[] url_parts = url.split("/"); // URL split by levels
int level = url_parts.length; // Number of levels

response.setContentType("text/html;charset=UTF-8"); // Set the response message's MIME type
PrintWriter out = response.getWriter(); // Allocate an output writer to write the response message into the network socket

if (level == 3) {
/* create HTML that shows all the books by an author */
}

else if (level == 4) {
/* create HTML that shows all the table of contents for a book by the author */
}

}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题