1

私はJSPにかなり慣れていないので、助けが必要です。

私はindex.jspファイルを持っていますが、明らかに「localhost //」と入力すると、デフォルトで自動的にindex.jspが呼び出されます。index.jspがロードされる前に最初にコントローラーを呼び出す予定なので、これがどのように機能するのか疑問に思いました。

しかし、私はそれを回避しようとしました。私のindex.jspには、次のようなものを入れています。

 if(request.getParameter("submit") == null && 
    request.getAttribute("submit") == null){
    response.sendRedirect("getInformation"); 
 }

ここでは、index.jspにコントローラー/サーブレットを直接呼び出すように強制しています。(呼び出したいコントローラーで@WebServlet( "/ getInformation"を使用しました)。

コントローラ/サーブレットのすべての論理コードと.jspのすべてのhtmlコードをできるだけ多くしたいので、これを行うためのより良い方法があるかどうか疑問に思いました。

4

1 に答える 1

1

IMO、これが最善のアプローチです。ウェルカムファイルはで定義できますweb.xml。以下の例では、コントローラーにリダイレクトするMETAタグを設定する「愚かな」index.htmlを作成しますSomeController(サーバーからクライアントに計算を委任します)。

web.xml

<welcome-file-list>
  <welcome-file>/WEB-INF/jsp/index.html</welcome-file>
</welcome-file-list>

index.html

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="refresh" content="0; URL=./SomeController" />
<title>Some title</title>
</head>
<body>
If you are not automatically redirected please click <a href="./SomeController">here</a>.
</body>
</html>
于 2012-05-09T10:23:20.033 に答える