美好的一天,
我刚刚配置了tomcat并使用了java servlet页面。我是新手,无法成功点击索引页面,但如果我直接尝试点击表单操作并传递定义的参数,那么我就能看到结果。如果我错过了什么,请指导我。
JSP - 代码
<div align="center" style="margin-top: 50px;">
<form action="CrunchifyServlet">
Please enter your Username: <input type="text" name="username" size="20px"> <br>
Please enter your Password: <input type="text" name="password" size="20px"> <br><br>
Please enter your Age: <input type="text" name="age" size="20px"> <br><br>
<input type="submit" value="submit">
</form>
</div>
Java - 代码
public class HelloCrunchify extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// reading the user input
String username = request.getParameter("username");
String password = request.getParameter("password");
String age = request.getParameter("age");
PrintWriter out = response.getWriter();
out.println (
"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" +" +
"http://www.w3.org/TR/html4/loose.dtd\">\n" +
"<html> \n" +
"<head> \n" +
"<meta http-equiv=\"Content-Type\" content=\"text/html; " +
"charset=ISO-8859-1\"> \n" +
"<title> Crunchify.com JSP Servlet Example </title> \n" +
"</head> \n" +
"<body> <div align='center'> \n" +
"<style= \"font-size=\"12px\" color='black'\"" + "\">" +
"Username: " + username + " <br> " +
"Password: " + password + " <br> " +
"Age: " + age +
"</font></body> \n" +
"</html>"
);
}
}
的web.xml
<display-name>CrunchifyJSPServletExample</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>com.crunchify.jsp.servlet.HelloCrunchify</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/CrunchifyServlet</url-pattern>
</servlet-mapping>
</web-app>
如果我试图点击此localhost:9080/CrunchifyJSPServletExample/Crunchify.jsp
,我就会收到HTTP状态404.
帮助将不胜感激。
由于
答案 0 :(得分:5)
您需要从WEB-INF
中取出您的jsp并将其直接放在WebContent
下,它会起作用。
答案 1 :(得分:2)
在查看你的web.xml并阅读你的评论之后你正在使用Crunchify.jsp发布数据,但是servlet容器在战争中找不到Crunchify.jsp在正确的文件夹中,所以你得到这个错误404,什么你需要做的是将Crunchify.jsp放在与index.jsp相同的文件夹中
如上图所示,像WebPages一样放置Crunchify.jsp - &gt; Crunchify.jsp
现在如果你调用http://localhost:9080/CrunchifyJSPServletExample/Crunchify.jsp
应该可以正常工作
答案 2 :(得分:1)
检查您是否使用了正确的上下文路径CrunchifyJSPServletExample
。
通常,如果您手动部署到Tomcat,它将是生成的war文件名,或者如果您使用在eclipse中配置的tomcat,则可以在Modules选项卡中指定路径。
答案 3 :(得分:1)
试试吧。更改Java代码。
在:
protected void **doGet**(HttpServletRequest request, HttpServletResponse response)
后:
protected void **service**(HttpServletRequest request, HttpServletResponse response)
或:
protected void **doPost**(HttpServletRequest request, HttpServletResponse response)
Html代码方面,通常设置像get或post这样的http方法。例如:
<form action="CrunchifyServlet" method="POST">
但是没有http方法的规范。也许html通过get方法与服务器进行通信,并且servlet无法被识别。
请在servlet中添加类似sysout的代码。并且没有输出,http方法是可疑的。
答案 4 :(得分:1)
无法成功点击索引页
我们假设您的索引页面内容位于名为index.html
的文件中。请按照以下说明进行操作:
index.html
文件放在war文件的根目录中,即与WEB-INF
目录处于同一级别。CrunchifyJSPServletExample
。index.html
。