私はサーブレットサイトをクロールしていて、ほとんどすべてのdoPostで次のようなコードに遭遇します。
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// set encoding to UTF-8
if (request.getCharacterEncoding() == null)
request.setCharacterEncoding("UTF-8");
// TODO : this may be needed in doGet too ?????????
response.setCharacterEncoding("UTF-8");
// check if session exists
boolean sessionExists = request.isRequestedSessionIdValid();
HttpSession session = request.getSession();
if (!sessionExists)
session.setMaxInactiveInterval(1000);
// if session does not exist we create it
ServletContext context = session.getServletContext();
Integer numSessions = (Integer) context
.getAttribute("numberOfSessions");
if (numSessions == null)
context.setAttribute("numberOfSessions", 1);
else if (!sessionExists)
context.setAttribute("numberOfSessions", ++numSessions);
}
BaseControllerクラスを作成し、このコードをそこに移動することをお勧めしますか?それをinit()メソッドまたはdoPost()に移動してから、呼び出す必要がありsuper.doPost
ますか?またsession.setAttribute("photo", photo);
、一部のサーブレットのような行もあります。その場合、BaseControllerにフィールドを設定することをお勧めしますsession
。これは、私が正しく理解していれば、揮発性である必要があります。
私はこれらすべてに不慣れです。
ありがとう