public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException{
resp.setContentType("text/plain");
List<String>result = new ArrayList<String>();
result.add("Zara");
result.add("Mahnaz");
result.add("Ayan");
PrintWriter out = resp.getWriter();
Iterator it = result.iterator();
while(it.hasNext()) {
out.println(it.next());
}
req.setAttribute("styles", result);
RequestDispatcher view = req.getRequestDispatcher("index.jsp");
try {
view.forward(req, resp);
} catch (ServletException e) {
e.printStackTrace();
}
}
上記はjspを制御するためのJavaクラスです。以下は私のjspファイルです。GAE JSP INTERNAL_SERVER_ERROR
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSPTest</title>
</head>
<body>
<p>
<%
List styles = (List) request.getAttribute("styles");
Iterator it = styles.iterator();
while(it.hasNext()) {
out.print("<br>try: " + it.next());
}
%>
</p>
</body>
</html>
以下は私のweb.xml
<servlet>
<servlet-name>JSPTest</servlet-name>
<servlet-class>com.nexwah.JSPTestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JSPTest</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
である私は私ができるすべてを試してみましたが、まだエラーを取得しています。 enter image description here
私はそれがマッピングの問題であることを知っています。しかし、私はそれを修正する方法を知らない。私を助けてください。前もって感謝します。
'' result.jsp'にindex.jsp'の名前を変更し、 'のRequestDispatcherビュー= req.getRequestDispatcher( "はresult.jsp")を行うためのサーブレットを変更;'これはただ一つの解決策です。問題は、サーブレットへのサーブレット転送によって発生し、その結果、無限ループになります。 –
私が言ったように、複数の可能なソリューションがあります。私が提案した解決策では、web.xmlを変更する必要はありません。 –
あなたは私のためにもう少し説明してもらえますか?このサーブレット・サーブレットはどのように行われますか?私が名前を変更した後、ウェルカムファイルとは何ですか? –