HTTP状态404–未找到!!!!或者有时是Http 500



在尝试运行servlet时遇到此错误

类型状态报告

说明源服务器找不到目标资源的当前表示形式,或者不愿意公开该表示形式的存在。

Apache Tomcat/9.037这是我的.java

import java.sql.*;
class BatchUpdations
{
public static void main(String args[])
{
try
{
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/stud","root","root");
Statement st=con.createStatement();
st.addBatch("insert into student1 values(190,'sfd')");
st.addBatch("insert into student1 values(193,'sasdf')");
st.addBatch("insert into student1 values(590,'sadf')");
st.addBatch("insert into student1 values(390,'adfd')");
st.executeBatch();
System.out.println("Records inserted");
st.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

和web.xml

<servlet>
<servlet-name>BatchUpdations</servlet-name>
<servlet-class>BatchUpdations</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>BatchUpdations</servlet-name>
<url-pattern>/BatchUpdations</url-pattern>
</servlet-mapping>
<servlet>

在我看来,您根本没有创建servlet。您显示的代码是一个独立的应用程序,因此不需要tomcat,不需要HTTP,也不需要servlet。只要调用java -cp . BatchUpdations就可以启动它。如果您需要它是一个在tomcat中运行的web应用程序,则需要提供一个servlet类和一个完整的jee web应用程序结构(大多数情况下打包在*.war文件中(。关于如何做到这一点的教程,可以在这里找到:https://www.tutorialspoint.com/servlets/servlets-first-example.htm

还有其他方法可以用Java创建web应用程序,例如使用Java配置,或者使用Spring/Spring Boot或其他框架。但给定的一个是最容易从IMHO开始的。如果您渴望学习,我建议您阅读Servlet API规范。最新版本为4.0,可在此处获取:https://download.oracle.com/otndocs/jcp/servlet-4-final-eval-spec/index.html

相关内容

最新更新