关于javaweb的时刻等待一个请求。
一个java web的工程,不仅有前端页面的那些功能,还有比如时刻等待一个从别处传来的指令,指令来的时候带一些参数,把这些参数处理
以后返回去,对这个指令处理时候是不经过前端页面的,就是时刻在等待指令来,而且应该是怎样个请求的形式呢,求救求救大神们a。
用websocket建立连接,服务器推送消息。客户端处理。不用websocket,以前(html5出现以前)的做法是,长轮询(long polling)
http://blog.jobbole.com/72172/
https://www.cnblogs.com/AloneSword/p/3517463.html
https://www.cnblogs.com/best/archive/2016/09/12/5695570.html
模拟数据传到后台,可达到同样的效果.
就比如,网页通过表单或者按钮提交请求,那我说的这个应该怎么实现呢,还是得时刻等待
怎么我感觉你讲的是http的get请求
我咋感觉是在问定时器...
感觉问的就是普通的接口吧
最近刚做完Javaweb作业,遇到的问题好像我之前遇到的。直接给你我的总结吧。
针对:DAO+DTO+servlet+jsp
首先可以在jsp页面中设置不同的参数传给servlet(如果为多个参数的话可以用&分隔开然后),然后servlet中设置相应的参数接收来自jsp页面的参数,然后重要的是如何让servlet区分不同的参数然后重定向到相应的页面,这就需要用到if语句来判断了。以下是要注意的点:
如果是通过不同表单提交到同一servlet的话,可以在各jsp页面中表单里多添加一个隐形按钮,注意,name属性一定要设置为相同的属性,value属性的值则各不相同,如表单1中为:
表单2中为:
……然后在servlet中根据接收name属性的值,在if语句中根据value的值来跳转至不同的页面,如:
String type = request.getParameter("type");
System.out.println("我在SelectBookByIdServlet中,type="+type);
……
if(type.equals("f1")){
response.sendRedirect(request.getContextPath()+"/admin/selectBookById.jsp");
}
if(type.equals("f2")){
response.sendRedirect(request.getContextPath()+"/user/selectBookById.jsp");
}
如果是通过不同URL提交到同一servlet的话,各jsp页面的URL中还必须设置一个
参数,参数名可随便起,但一定相同,参数值则各不相同,如
URL1中可设为:,
URL2中可设为:,
参数名为method,参数值分别为abook和ubook。接下来就要在同一servlet中接收参数值了:如:
String method = request.getParameter("method");
System.out.println("method="+method);
……
if(method.equals("abook")) {
session.setAttribute("allbook", v);// allbook与allBook.jsp中的参数一样
response.sendRedirect(request.getContextPath()+"/admin/allBook.jsp");
}
if(method.equals("ubook")) {
session.setAttribute("allbook", v);// allbook与allBook.jsp中的参数一样
response.sendRedirect(request.getContextPath()+"/user/allBook.jsp");
}
如果是跳转至不同权限的jsp页面,还要记得配置好web.xml中的数据。例如:
FindAllBookServletcn.edu.lingnan.servlet.FindAllBookServlet
FindAllBookServlet
/admin/findAllBookServlet
/user/findAllBookServlet
你好像说的是普通的数据接口。
你可以增加一个和处理get请求一样的接口(方法),将结果转成json返回。
使用方式和普通的get请求一样,参数添加到url中。你可以在浏览器中访问这个url得到结果,也可以引用java.net下的一些类,模拟get请求。
用异步操作, async request 就可以了吧。。 我经常这么做。