Servlet的连接java后台
1.servlet代码
package com.bochiot.znys.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.bochiot.amain.HttpGyBossService;
import com.bochiot.amain.StringConst;
import com.bochiot.amain.WxConfiguration;
import com.bochiot.znys.config.ENUM_BOZHI_RESULT;
import com.project.util.L;
import net.sf.json.JSONObject;
public class longguanServlet extends BaseHttpServlet{
public static String TAG = "longguanServlet";
@Override
protected void get(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
L.i(TAG, "start");
// openID
String openId = (String) request.getSession().getAttribute(StringConst.OPENID);
L.i(TAG, "openId=" + openId);
if (openId == null || "".equals(openId)) {
if (WxConfiguration.istest) {
openId = WxConfiguration.testopenid;
L.i(TAG, "测试 openId=" + openId);
} else {
openId = request.getParameter("openId");
}
}
JSONObject result = new JSONObject();
result.put("code", -1);
if (openId == null) {
result.put("message", "未获取微信账户信息");
super.out(response, result.toString());
return;
}
L.i(TAG, "openId=" + openId);
// 处理bindRoom.jsp页面中的数据请求
String hotelId= request.getParameter("hotelId");
String roomno = request.getParameter("roomno");
String roomname = request.getParameter("roomname");
System.out.println("hotelId=" + hotelId);
System.out.println("roomnum=" + roomno);
System.out.println("roomname=" + roomname);
ENUM_BOZHI_RESULT enum_BOZHI_RESULT = ENUM_BOZHI_RESULT.MSG_ERR_INVALID;
try {
result = HttpGyBossService.long_guan(openId, hotelId, roomno,roomname);
enum_BOZHI_RESULT = ENUM_BOZHI_RESULT.getCODE(result.getInt("code"));
if (enum_BOZHI_RESULT == ENUM_BOZHI_RESULT.MSG_SUCCESS) {
L.d(TAG, "successed " + "hotelId: " + hotelId + "roomno: " + roomno
+ " openId : " + openId);
result.put("code", 0);
} else {
result.put("message", result.get("message"));
}
} catch (Exception e) {
e.printStackTrace();
result.put("message", e.getMessage());
}
super.out(response, result.toString());
}// end
@Override
protected void post(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
}
2.service连接java后台地址
//长关
public static String long_guan=WxConfiguration.URL_PREFIX+"api/gyboss/longguanPublic";
//长关long_guan
public static JSONObject long_guan(String openId,String hotelId, String roomno,String roomname) throws Exception {
JSONObject info = new JSONObject();
info.put("openId", openId);
info.put("hotelId",hotelId);
info.put("roomno",roomno);
info.put("roomname",roomname);
return HttpRequestUtils.sendCmdToServer(long_guan, info);
}
3.对应java后台
//长关
@RequestMapping(value = "/longguanPublic", method = RequestMethod.POST, consumes = "application/json")
@ResponseBody
public ApiResponseResult longguanPublic(@RequestBody EveryReq req) {
RoomPublic r=roomPublicService.getRoomNo(Long.valueOf(req.getHotelId()),req.getRoomno());
if(r.getDeviceId()==null||r.getGatewayInfo()==null) {
return ApiResponseResult.failure("设备或网关未绑定");
}
Hotel h = hotelService.getHotel(Long.valueOf(req.getHotelId()));
SharePublic sharePublic=new SharePublic();
sharePublic.setRoomNo(req.getRoomno());
sharePublic.setRoomName(req.getRoomname());
sharePublic.setHotel(h);
String nano = System.nanoTime() + "";
sharePublic.setRequestid(Long.parseLong(nano.substring(nano.length() - 13)));
// actiontype int 行为动作,0长关,1长开, 2 正常状态
// devtype int 节点类型,0房间,1门禁
try {
super.dev_noc_set_Public(sharePublic, 0, 2);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
return ApiResponseResult.failure().message(e1.getMessage() );
}
return ApiResponseResult.success();
}// ..
4.web.xml的映射配置
<servlet>
<servlet-name>longguanServlet</servlet-name>
<servlet-class>com.bochiot.znys.servlet.longguanServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>longguanServlet</servlet-name>
<url-pattern>/bozhi/longguanServlet</url-pattern>
</servlet-mapping>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统