我是jsp servlet的新手,无法从jsp调用servlet以下是代码请告诉我出了什么问题。 jsp代码:
<form action="/myservlet" method="POST">
<div id="dialog" title="Enter the val">
<input type="text" style="margin-left:10px" valign="right" maxlength=4 size=4 name="myval" title="val"/>
<input type="submit" name="submit" value="submit"/>
</div>
</form>
servlet代码:
public class GetServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
{
System.out.println("******************* GetUserServlet ******************");
String name = request.getParameter("myval");
boolean submitButtonPressed = request.getParameter("submit") != null;
System.out.println("name: "+name+" submitButtonPressed: "+submitButtonPressed);
}}
网嗯
<servlet>
<display-name>GetServlet</display-name>
<servlet-name>GetServlet</servlet-name>
<servlet-class>mypackage.GetServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GetServlet</servlet-name>
<url-pattern>/myservlet</url-pattern>
</servlet-mapping>
您的servlet类的包名称无效。您不能将包命名为package
。它是Java的保留关键字。
阅读此tutorial以了解包命名约定的工作原理。
如果您的servlet类GetServlet
位于名为food.bar
的包中,请将<servlet-class>
中的web.xml
标记从package.GetServlet
更改为food.bar.GetServlet
。
编辑
编辑问题后,包名称不是问题。从表单操作字符串中删除反斜杠。
保持form action="myservlet"