私はいくつかのコードを持つSongサーブレットを持っていて、そのリクエストをsongList.jspに送信します。これにより、曲のタイトルがページにリストされます。これはうまくいきます。しかし、その後、songList.jspに私は、各曲のURLを定義しますが、URLをクリックしたときにそれが表示されている:問題がどこにあるサーブレット受信パラメータ - ステータス404
HTTP Status 404 – Not Found
Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
あなたは知っていますか?
ソングサーブレット
@WebServlet(name ="Song", urlPatterns = {"/Song"})
// some code
request.setAttribute("result", result);
// some code then send the request
RequestDispatcher view=request.getRequestDispatcher("songList.jsp");
view.forward(request,response);
// songList.jsp
ページに歌を示すイムとそのウォーキングOK
<c:forEach items="${result}" var="item" varStatus="status">
<a href="/SongPage?name=${item[0].replace(" ","+")}&id=${item[1]}">${item[0]}</a>
</h4>
<p class="card-text">${item[2]}</p>
</c:forEach>
このリンクに行く必要があります曲に関する情報を表示するページで、次の形式になります。
"http://localhost:8080/SongPage?name=Achtung&id=70"
しかし、クリックすると404エラーが表示されます。
そして私はSongPageサーブレットを持っている:
@WebServlet(name ="/SongPage", urlPatterns = {"/SongPage/name/*/id/*"})
public class SongPage extends HttpServlet {
public void init(){
System.out.println("Song Servlet");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name").replace("+"," ");
String id = request.getParameter("id");
QueryManager qm = new QueryManager();
ArrayList<ArrayList<String>> result = qm.getSongInfo(name, id);
qm.closeConnections();
ArrayList<String> songInfo = result.get(0);
request.setAttribute("result", songInfo);
RequestDispatcher view=request.getRequestDispatcher("songPage.jsp");
view.forward(request,response);
}
その後、私はsongPage.jspを持っていますが、問題のためには重要ではありません。
おかげ
@WebServlet(name ="/SongPage", urlPatterns = {"/SongPage"})
で、最初私はそのような使用が、それは404エラーが表示されますので、私は持つソリューションとテストを探していた{「/ SongPage /名前/ */ID/*」})が、また、動作しません。 – OzzyW@OzzyW {"/ SongPage/name/*/id/*"}は完全に間違っています。web.xmlサーブレットマッピングをチェックしましたか? なぜ '@ Override'を入れないのでしょうか? – GrootC
あなたの答えをありがとう。 web.xmlでは、私はマッピングがありません。私はurlPatternsを使用して、同じ権利ですか?そして、どの部分に@override? – OzzyW