【问题标题】:Why is this simple jsp program is NOT running?为什么这个简单的 jsp 程序没有运行?
【发布时间】:2014-09-26 04:52:55
【问题描述】:

正如我们所知,每个 jsp 程序的 jsp 页面后面都有一个 servlet。我使用了一个 jsp 页面来制作一个表单(它是一个非常小的表单),并且在同一个 jsp 中我使用了 scriptlet 标记并制作了一种方法来获取插入的表单数据,并使用 out.print() 显示它。但问题是当我运行它时,会显示表单。但是当我提交时,它无法识别 servlet 页面(错误为“请求的资源不可用”)。我会把代码放在下面。请朋友们帮我解决这个问题。谢谢。 我在netbeans中做到了这一点。 jsp页面名称是-“hello.jsp” jsp页面后面的servlet页面名称为:“hello_jsp.java”。

<html> 
<head><title>IF...ELSE Example</title></head> 
<body>  
<form action="hello_jsp" method="post">
  <input type="text" name="y"/>
  <input type="submit" value="submit"/>

<% 
  if(request.getParameter("y")!=null) { 
    String s = request.getParameter("y"); 
    if(s.equals("hello")){
    out.print("welcome"+s);
  }else{
    out.print("not welcome");
  }}
%> 

</form>
</body> 
</html> 

【问题讨论】:

  • 我使用了scriptlet标签为什么?
  • 什么是hello_jsp?是 JSP 还是 Servlet?
  • 我不想将表单数据传递给另一个 servlet,我想从 jsp 后面的同一个 servlet 完成这项工作。所以我不得不使用脚本。
  • @user3218114 hello_jsp.java 是一个servlet,我没有放那个名字。当我将我的jsp页面命名为hello.jsp时,它会自动生成。

标签: java html jsp servlets jsp-tags


【解决方案1】:

我猜你需要改变

<form action="hello_jsp" method="post">

<form action="hello.jsp" method="post">
<!--               ^---- change is here -->

外部可访问的资源是jsp,而不是servlet。 (默认情况下,我确信一些 config-fu 可以改变这一点。)

或者,当然,如果页面应该提交给自己,则根本不要包含action。默认是提交到当前页面。

<form method="post">

【讨论】:

    猜你喜欢
    • 2018-05-17
    • 1970-01-01
    • 2012-01-05
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多