私はjspページを持っています-
<html>
<head>
</head>
<body>
<%
String valueToPass = "Hello" ;
%>
<a href="goToServlet...">Go to servlet</a>
</body>
</html>
そしてサーブレット-
@WebServlet(name="/servlet123",
urlPatterns={"/servlet123"})
public class servlet123 extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
}
public void foo() {
}
}
<a href="goToServlet...">Go to servlet</a>
に値(valueToPass
などの値、または引数に値を追加する)を渡すために、servlet123
に何を書き込む必要がありますか?
Jspのリンクを使用して、servlet123
の特定のメソッド(foo()
など)を呼び出すことはできますか?
編集:
URLでサーブレットを呼び出すにはどうすればよいですか?私のページ階層は次のようなものです-
WebContent
|-- JSPtest
| |-- callServletFromLink.jsp
|-- WEB-INF
: :
そして、フォルダsrc-> controlのservlet123
を呼び出したいと思います。
<a href="servlet123">Go to servlet</a>
を試しましたが、リンクを押してもサーブレットが見つかりません。
2番目の編集:
私は<a href="http://localhost:8080/MyProjectName/servlet123">Go to servlet</a>
を試してみましたが、うまくいきました。
URLを使用してサーブレットにパラメータを送信する場合は、この方法で行う必要があります
<a href="goToServlet?param1=value1¶m2=value2">Go to servlet</a>
そして、リクエストで利用できる値を取得します。
2番目の質問について。私はノーと言います。次のようなulrにパラメータを追加できます
<a href="goToServlet?method=methodName¶m1=value1">Go to servlet</a>
そして、その情報を使用して特定のメソッドを呼び出します。
ちなみに、Strutsのようなフレームワークを使用すると、StrutsではURLを特定のアクションメソッド(「サーブレット」としましょう)にバインドできるため、簡単になります。
編集済み:
このようにしてサーブレットを定義しました。
@WebServlet("/servlet123")
あなた、あなたのサーブレットは/ servlet123で利用可能になります。 doc を参照してください。
私はあなたのコードをテストしました、そしてそれは働いています:
@WebServlet(name = "/servlet123", urlPatterns = { "/servlet123" })
public class Servlet123 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.write("<h2>Hello Friends! Welcome to the world of servlet annotation </h2>");
out.write("<br/>");
out.close();
}
}
次に、http://localhost:8080/myApp/servlet123
でサーブレットを呼び出しました(使用している場合は、myAppをアプリケーションコンテキストにします)。
<a href="url">urltitle</a>
を使用すると、URLを定義できます。ここからサーブレットを呼び出すのは、ブラウザから呼び出すのと同じです。ブラウザでサーブレットを呼び出す場合と同じようにURLを指定するだけで、サーブレットを呼び出すことができます http://mysite.com?param1=val1¶m2=val2 =など.