Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Apache Tomcat 7-请求的资源不可用_Java_Eclipse_Tomcat_Servlets - Fatal编程技术网

Java Apache Tomcat 7-请求的资源不可用

Java Apache Tomcat 7-请求的资源不可用,java,eclipse,tomcat,servlets,Java,Eclipse,Tomcat,Servlets,尝试运行servlet时,浏览器中出现错误。上面说 请求的资源不可用 及 “HTTP状态404-”。控制台只打印一个错误,不打印任何错误 警告:“[SetPropertiesRule]{Server/Service/Engine/Host/Context}” 未将属性“source”设置为“org.eclipse.jst.jee.server:CDM” 查找匹配的属性。“ 我觉得我已经尽了一切努力让它工作,所以我愿意接受任何能让我的代码工作的建议 StudentResultRegistered.

尝试运行servlet时,浏览器中出现错误。上面说

请求的资源不可用

“HTTP状态404-”。控制台只打印一个错误,不打印任何错误 警告:“[SetPropertiesRule]{Server/Service/Engine/Host/Context}” 未将属性“source”设置为“org.eclipse.jst.jee.server:CDM” 查找匹配的属性。“

我觉得我已经尽了一切努力让它工作,所以我愿意接受任何能让我的代码工作的建议

StudentResultRegistered.java

package com.cdm;


import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.*;




@WebServlet(name="studentResultRegistered",urlPatterns={"/herpDerp"})
public class StudentResultRegistered extends HttpServlet {



    @Override
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    String s=request.getParameter("studentID");  
    String k=request.getParameter("kursKod");  
    String t=request.getParameter("termin");  
    String p=request.getParameter("provNr"); 
    String b=request.getParameter("betyg"); 



    try{
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/school_server", "testuser", "testuser");



        String sql = "INSERT INTO regStudentResult (studentID, kursKod, termin, provNr, betyg)" +
                "VALUES (?, ?, ?, ?, ?)";

        PreparedStatement ps = con.prepareStatement(sql);

        ps.setString(1,s);  
        ps.setString(2,k);  
        ps.setString(3,t);  
        ps.setString(4,p);
        ps.setString(5,b);

        int i=ps.executeUpdate();  
        if(i>0)  
        out.print("success");  
    }catch (Exception e2) {System.out.println(e2);}  

    out.close();  
    } 


}//studentResultRegistered
index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Course Data Management</title>
</head>
<body>
<h1>Registrera Resultat</h1>

<FORM ACTION="/studentResultRegistered" method="get">
  StudentID:
  <INPUT TYPE="TEXT" NAME="studentID" VALUE=""><BR>

  Kurskod:
  <INPUT TYPE="TEXT" NAME="kursKod" VALUE=""><BR>

  Termin:
  <INPUT TYPE="TEXT" NAME="termin" VALUE=""><BR>

  ProvNr:
  <INPUT TYPE="TEXT" NAME="provNr" VALUE=""><BR>

  Betyg:
  <INPUT TYPE="TEXT" NAME="betyg" VALUE=""><BR>


    <INPUT TYPE="SUBMIT" VALUE="Registrera Resultat">
</FORM>

</body>
</html>
<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>CDM</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>  
  </welcome-file-list>



 <servlet>
    <servlet-name>studentResultRegistered</servlet-name>
    <servlet-class>com.cdm;</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>studentResultRegistered</servlet-name>
    <url-pattern>/herpDerp</url-pattern>
</servlet-mapping>

</web-app>

课程数据管理
结果寄存器
学生ID:

库尔斯科德:
终端:
证明人:
贝蒂格:
web.xml

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Course Data Management</title>
</head>
<body>
<h1>Registrera Resultat</h1>

<FORM ACTION="/studentResultRegistered" method="get">
  StudentID:
  <INPUT TYPE="TEXT" NAME="studentID" VALUE=""><BR>

  Kurskod:
  <INPUT TYPE="TEXT" NAME="kursKod" VALUE=""><BR>

  Termin:
  <INPUT TYPE="TEXT" NAME="termin" VALUE=""><BR>

  ProvNr:
  <INPUT TYPE="TEXT" NAME="provNr" VALUE=""><BR>

  Betyg:
  <INPUT TYPE="TEXT" NAME="betyg" VALUE=""><BR>


    <INPUT TYPE="SUBMIT" VALUE="Registrera Resultat">
</FORM>

</body>
</html>
<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>CDM</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>  
  </welcome-file-list>



 <servlet>
    <servlet-name>studentResultRegistered</servlet-name>
    <servlet-class>com.cdm;</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>studentResultRegistered</servlet-name>
    <url-pattern>/herpDerp</url-pattern>
</servlet-mapping>

</web-app>

清洁发展机制
index.html
学生注册
com.cdm;
学生注册
/herpDerp

我认为您需要一个完整的类名,而不仅仅是一个包:

<servlet-class>com.cdm.StudentResultRegistered</servlet-class>
com.cdm.studentresult已注册
编辑: 需要修复的其他问题:

  • index.html应放在web文件夹中(web-INF的父文件夹)
  • 应以
    http://localhost/index.html
    http://localhost/CDM/index.html
    取决于web上下文的配置方式(请参阅)。请注意,url中不需要index.html,因为它已在web.xml中指定为默认页面
  • 操作表单url应该匹配servlet路径,而不是servlet名称

  • 刚才看到你的评论说你浏览器中的URL是

    localhost/CDM/WEB-INF/index.html
    
    WEB-INF是一个隐藏目录——Tomcat(或任何其他Servlet容器)永远不会提供来自该目录的内容,它应该包含确认、类和JAR

    您的index.html文件应该位于应用程序根目录(CDM目录)中,您的URL应该是

    localhost/CDM/index.html
    

    您在浏览器中加载的URL是什么?尽管如此,请删除;(分号)中删除了它,但它并没有改善我的错误。您逐行调试了它吗?它会一直持续到最后吗?如果不是在哪一行中断?更改了它,没有区别相同的错误:(您在单击提交时收到错误吗?您的表单操作应该与url/herpDerp匹配-而不是servlet名称由于“请求的资源不可用”,我看不到我的表单-错误。也就是说,我从一开始就尝试运行servlet时出错。我看到,此消息是关于找不到index.html资源。我假设您的tomcat在端口80上运行。您需要将index.html放在web目录(web-INF的父目录)中.那就试试。如果那不起作用,那就试试你,先生或女士,刚刚救了我的命!谢谢