1.通过判断session中是否存在一个对象来判断用户是否登录
用户首次访问站点,web容器会生成一个session,并生成相应的JsessionID,JsessionID会在响应中以cookie的形式带给客户端浏览器,下次请求中会携带这个JsessionID,web容器会根据它找到对应的session。用户输入用户名、密码登录成功后,会在session中放置一个对象(姑且将这个对象命名为UserProfile),UserProfile会存放用户在登录期间内跟用户相关的所有信息。用户注销后会将session中的UserProfile对象清空,下次请求时会判断session中是否存在UserProfile对象,如果不存在说明用户没有登录,鉴权失败。
2.Java静态常量最佳存储地点是Interface呢,还是Class?
常量最好不要放在接口里面,接口的作用不是保存常量。
但也有一种比较极端的方法,将常量放interface中可以省去public static final关键字,省代码。放class建议创建个private构造方法,避免被实例化,这也增加了代码量。
实现这个接口之后在代码里面就可以直接用常量了,就不用像常量类中使用
Constants.XX这种方式调用
,
并且interface中的常量不加任何修饰符也是public
static final的。