YEN_csdn 2016-08-01 01:55 采纳率: 100%
浏览 1998
已采纳

为什么servlet只执行了一次

index.jsp页面用来读取request中的list :即留言信息
SelectServlet用来把留言信息保存到list中

@WebServlet( "/SelectServlet")
public class SelectServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    MessageDAO messageDAO=new MessageDAO();
    request.setCharacterEncoding("UTF-8");
    String author=request.getParameter("author");
    if(null == author || "" == author){
        request.setAttribute("messageList",messageDAO.getAllMessage());
    }else{
        request.setAttribute("messageList",messageDAO.selectByAuthor(author));
    }
    request.getRequestDispatcher("index.jsp").forward(request,response);        //页面转发
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request, response);
}

}


index.jsp页面

<%
}
List messages= (List)request.getAttribute("messageList");
if(null != messages){
for(Message msg:messages){
%>



    <%
    if(null!=user){
    if( (1==tag) || ( author.equals(msg.getAuthor()) && 0==tag )){
    %>
  • 删除编辑
    <%=msg.getAuthor()%>    发表于<%=msg.getDate()%>



<%=msg.getContext()%>




<%
} //end of for(Message msg:messages){
}
%>


运行结果为:
当启动服务器后,第一次点击进入http://localhost:8080/MessageBoard/SelectServlet时:
图片说明

当我刷新地址栏时:
图片说明

就显示不出来了

也就是说只能访问一次?

请问如何解决

  • 写回答

4条回答 默认 最新

  • 果冻剑客 2016-08-01 03:11
    关注

    当你刷新一下servlet 的地址的时候他是一定会再次访问你的后台的地址的。因为你的页面是通过转发来的,要是不经过servlet 的话,你连页面都不会出来
    (也就是说你刷新的是servlet 的地址不是页面的地址是一定会再进一次后台的,这个你要打断点确定一下。)
    2. 我猜是你的程序代码后台控制问题,当你二次访问的时候messageDao 中的数据没有查出来,你可以打印一下或者打断点调试从第二次数据为什么不出来入手

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿