问题源码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<jsp:forward page="/productServlet"><%--转到Servlet--%>
<jsp:param name="action" value="findAll"/>
</jsp:forward>
报错信息:
由于我别的地方都没有写错,然后就一直找不出来。看网上有人说,用jsp注释或者java注释就解决了,但是我的本来就是jsp注释啊。很显然这种方法不行。
后来发现,
解决办法就是
把注释删了就行了,咱也不知道为啥。
然后我Servlet里面是这样写的
package com.cxj.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "ProductServlet",value = "/productServlet")
public class ProductServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.println(" This is");
out.println(this.getClass());
out.println(",using the POST method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.println(" This is");
out.println(this.getClass());
System.out.println("11111111\ndddddd");
out.println(",using the GET method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
}
把注释删除之后,就出来页面了,页面是这样式的:
希望对也出现这种问题的能有所帮助。
我也是个小菜菜。
附加知识点:
<jsp:foroard>
是jsp的动作标签,作用是跳转到另一个页面。
通过该动作标签(可以加入<jsp:param>
传递参数),页面将(带着加入的参数)跳转到指定页面(跳转到的页面可以通过request.getParameter("")
方法来获取参数)。
需要注意的是,<jsp:forward>
的作用类似于java代码中request.getRequestDispatcher(" ").forward(request,response)
,也即是请求转发。