Java JSP在第一次访问中执行doPost

Java JSP在第一次访问中执行doPost,java,jsp,Java,Jsp,我用一个表单创建了JSP页面。用户可以写评论,它将通过POST方法发送。servlet将它存储在数据存储中,列出所有注释并将其转发给jsp,jsp将把它们放在一个表中。问题是,在第一次访问中没有任何内容,因为没有调用doPOst!这是我的密码 public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {

我用一个表单创建了JSP页面。用户可以写评论,它将通过POST方法发送。servlet将它存储在数据存储中,列出所有注释并将其转发给jsp,jsp将把它们放在一个表中。问题是,在第一次访问中没有任何内容,因为没有调用doPOst!这是我的密码

public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {

        // INSERT CODE HERE

        System.out.println("received HTTP POST");
        String postContent = request.getParameter("post_text");
        System.out.println(postContent);
         Date date= new Date();
      Timestamp timeStamp=  new Timestamp(date.getTime());
     long lonTime= timeStamp.getTime();

            DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();       
            Entity post = new Entity("post");
            post.setProperty("content", postContent);

            post.setProperty("time", lonTime); 
            datastore.put(post);
        System.out.println(    post.getKey()   );

        int pageSize = 20;
        FetchOptions fetchOptions = FetchOptions.Builder.withLimit(pageSize);

        Query q = new Query("post").addSort("time", SortDirection.DESCENDING);
        PreparedQuery pq = datastore.prepare(q);

        QueryResultList<Entity> results = pq.asQueryResultList(fetchOptions);
        System.out.println("-------------------");
        for (Entity entity : results) {

 System.out.println(entity.getProperty ("content"));
 System.out.println(entity.getProperty ("time"));
        }

        request.setAttribute("postList",results);
        String strViewPage="/tublr.jsp";
        RequestDispatcher dispatcher = request.getRequestDispatcher(strViewPage);
        if (dispatcher != null){
                dispatcher.forward(request, response);
        } ;
public void doPost(HttpServletRequest请求,HttpServletResponse响应)
抛出IOException、ServletException{
//在这里插入代码
System.out.println(“收到的HTTP POST”);
字符串postContent=request.getParameter(“post_text”);
System.out.println(后内容);
日期=新日期();
Timestamp Timestamp=新的时间戳(date.getTime());
long lonTime=timeStamp.getTime();
DatastoreService datastore=DatastoreServiceFactory.getDatastoreService();
实体职位=新实体(“职位”);
post.setProperty(“内容”,postContent);
post.setProperty(“time”,lonTime);
数据存储。放置(post);
System.out.println(post.getKey());
int pageSize=20;
FetchOptions FetchOptions=FetchOptions.Builder.withLimit(页面大小);
查询q=新查询(“post”).addSort(“时间”,SortDirection.DESCENDING);
PreparedQuery pq=数据存储。prepare(q);
QueryResultList结果=pq.asQueryResultList(fetchOptions);
System.out.println(“------------------------”;
对于(实体:结果){
System.out.println(entity.getProperty(“content”);
System.out.println(entity.getProperty(“time”);
}
setAttribute(“postList”,结果);
字符串strViewPage=“/tublr.jsp”;
RequestDispatcher=request.getRequestDispatcher(strViewPage);
if(调度程序!=null){
转发(请求、响应);
} ;

有很多方法可以做到这一点。您可以添加一个servlet来处理初始请求(而不是JSP)。它可以处理注释的检索,并将您的输出引导到JSP,在JSP中显示注释。提交时(提交到上述servlet)您可以继续指向同一个JSP。这只是一个选项。您实际上是在查看MVC模式。为什么在加载JSP时不能显示“无可用注释”?因此,当用户首次登录时,他/她将不会收到任何可用注释消息。如果用户提交,则可以显示消息。此代码应位于.JSP页面中。