我有四个我想要一起交互的文件:三个视图(index.jsp,error.jsp和success.jsp)和一个控制器(MyController.java)
ProjectName
|__
| Java Reosurces
| |__src/main/resources
| |__controller
| |__MyController.java
|_src
|__main
|__webapp
|__WEB-INF
| |__web.xml
|
|__index.jsp
|__error.jsp
|__success.jsp
对于我的index.jsp,我只需输入一个文本框,询问名称并等待提交
<html>
<body>
<form action="MyController" method="post">
Name: <input type="text" name="fname"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
当表单获得提交时,我希望它在MyController上处理它,它有
public class MyController extends HttpServlet {
private static final long serialVersionUID = 1L;
public MyController() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String fname = request.getParameter("fname");
RequestDispatcher rd = null;
if (fname.equals("luis")) {
rd = request.getRequestDispatcher("/success.jsp");
request.setAttribute("fname", "luis");
} else {
rd = request.getRequestDispatcher("/error.jsp");
}
rd.forward(request, response);
}
}
从那里确定是否显示error.jsp或success.jsp,但是现在我得到了一个&#34; HTTP状态500 - 错误实例化servlet类MyController&#34;。我能做错什么?我认为这可能是路径/组织目录而不是代码的问题。
我的web.xml有
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>MyController</servlet-name>
<display-name>MyController</display-name>
<description></description>
<servlet-class>MyController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyController</servlet-name>
<url-pattern>/MyController</url-pattern>
</servlet-mapping>
</web-app>
提前感谢您的帮助!