作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 RemoteServiceServlet 类实现了几个服务(方法)。所有方法都需要在执行任何操作之前检查 session 并获取相应的用户信息。由于该类有 20 多个服务方法,因此在每个服务中都这样做是一场噩梦。有没有办法为所有传入请求自动运行一些 session 检查方法?或者我该如何解决这个问题?
这是针对我的情况的示例伪代码。
public class OnboardingServiceImpl extends RemoteServiceServlet implements OnboardingService {
private String checkSessionAndGetUser(){...}
public void service1(){
// check session
// get user and do something based on the user data
}
public void service2(){
// check session
// get user and do something based on the user data
}
public void service3(){
// check session
// get user and do something based on the user data
}
...
public void service20(){
// check session
// get user and do something based on the user data
}
}
如你所见,service1,service2,...,service 20都需要根据session获取用户信息,但我不想为每个服务重复写代码。任何帮助将不胜感激。
最佳答案
我建议覆盖 processCall(RPCRequest rpcRequest)
@Override
public String processCall(RPCRequest rpcRequest) throws SerializationException {
//your checks here, in case of error:
//return RPC.encodeResponseForFailedRequest(null, new Exception("Invalid session"));
// note that you'll have to use a serializable exception type here.
return super.processCall(rpcRequest);
}
关于java - GWT - 如何为 GRPC servlet 中的所有传入请求设置入口点方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32106380/
我是一名优秀的程序员,十分优秀!