之前写过一篇求某范围质数J2EE及JS版本的
http://blog.youkuaiyun.com/hhooong/article/details/50375887
在这边顺便扯一扯Servlet的forward和include关系,在原代码的基础上,多点东西:
package edu.fjnu.Harry;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class waiterServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String menu = request.getParameter("menu");
if("火腿肠".equals(menu)|| "泡面".equals(menu) ){
System.out.println("先生您好,您所点的菜单为:"+menu+",我就这去帮你取"+menu);
request.setAttribute("order", menu);
request.getRequestDispatcher("/smallCooker").include(request, response);
PrintWriter out = response.getWriter();
String smallmenu = (String) request.getAttribute("smallmenu");
out.print("include协作已经完成"+smallmenu+" 请慢用");
}
else{
System.out.println("先生您好,您所点的菜单为:"+menu+",我这就送给厨师");
request.setAttribute("order", menu);
// request.removeAttribute("order");
request.getRequestDispatcher("/cooker").forward(request, response);
}
}
}
package edu.fjnu.Harry;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SmallCooker extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String menu = (String) request.getAttribute("order");
System.out.println("小厨师收到了做"+menu+"的命令,现在已经做好了。请waiter帮忙送"+menu+"" +
"到顾客手中");
request.setAttribute("smallmenu", menu);
}
}
include其实有点类似于,之前学C++的时候,A函数里面调用B函数
B(){
}
A(){
*****
B()
}
之前跟这次的代码结合,如果顾客点的餐是泡面或是火腿肠,那么会跳到smallcooker(B函数),B函数直接返回,由waiterServlet直接送到顾客手上
走一遍代码就懂了~,include不常用,在平时开发中用的更多是forward