Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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 了解如何在Eclipse中运行servlet_Java_Eclipse_Tomcat_Servlets - Fatal编程技术网

Java 了解如何在Eclipse中运行servlet

Java 了解如何在Eclipse中运行servlet,java,eclipse,tomcat,servlets,Java,Eclipse,Tomcat,Servlets,我正在为我的一个家庭作业写一个简单的航班预订申请。我的航班预订网站有一个登录、注册、航班搜索、结果显示和确认JSP页面。我希望在用户尝试执行操作时调用servlet,例如: 用户转到login.jsp并单击login按钮,表单有一个target/core/login(core是我的核心servlet,login是应该处理该请求的对应servlet) 在之前的家庭作业中,我们编写了自己的web服务器,因此我没有使用Tomcat部署serlvet。。。现在我们不再使用我们自己的web服务器,我在弄清

我正在为我的一个家庭作业写一个简单的航班预订申请。我的航班预订网站有一个登录、注册、航班搜索、结果显示和确认JSP页面。我希望在用户尝试执行操作时调用servlet,例如:

用户转到login.jsp并单击login按钮,表单有一个target/core/login(core是我的核心servlet,login是应该处理该请求的对应servlet)

在之前的家庭作业中,我们编写了自己的web服务器,因此我没有使用Tomcat部署serlvet。。。现在我们不再使用我们自己的web服务器,我在弄清楚如何让servlet在Eclipse中运行时遇到了一些问题

我在Eclipse中创建了一个动态Web项目,它自动生成以下文件夹结构:

../P3  
../P3/src  
../P3/src/core  
../P3/build  
../P3/WebContent 
../P3/WebContent/META-INF  
../P3/WebContent/WEB-INF  
My login.jsp有一个表单,当填写并单击该表单时,会将结果提交到我的核心包中的登录servlet:

 <form name="input" action="src/core/Login" method=GET>
  Username: <input type="text" name="userName" />
  <br>
  Password: <input type="password" name="password" />
  <br>
  <input type="submit" value="Login" />
 </form> 
由于某种原因,服务器不知道servlet。。。我在网上读了几篇(和)文章,解释了可能出现的问题,但我还是发现了错误。我在第一篇文章中尝试了这个解决方案,但没有成功;第二篇文章没有真正应用,因为server settings.xml文件已经包含了正确的标志和目录

这是我的WEB-INF/WEB.xml文件:

<?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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>P3</display-name>
  <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>Registration</display-name>
    <servlet-name>Registration</servlet-name>
    <servlet-class>core.Registration</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Registration</servlet-name>
    <url-pattern>/Registration</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>Register</display-name>
    <servlet-name>Register</servlet-name>
    <servlet-class>core.Register</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Register</servlet-name>
    <url-pattern>/Register</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>Login</display-name>
    <servlet-name>Login</servlet-name>
    <servlet-class>core.Login</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Login</servlet-name>
    <url-pattern>/Login</url-pattern>
  </servlet-mapping>
</web-app>

P3
login.jsp
登记处
登记处
核心.注册
登记处
/登记
登记
登记
核心。注册
登记
/登记册
登录
登录
core.Login
登录
/登录

我应该如何设置我的项目,以便它在Eclipse中正确部署?

作为家庭作业,我将为您指出我认为正确的方向

我建议您查看部署描述符。(它是/WEB-INF/WEB.xml文件)。在该文件中,您定义了客户端用于访问这些servlet的servlet和URL映射

除非存在这些元素,否则Tomcat不知道如何为servlet请求提供服务


如果您告诉NetBeans您正在创建一个新的Servlet,而不是一个新的Java类,它将提示您输入适当的信息来设置一切。

表单action
action=“src/core/Login”
与Servlet映射
/Login
不匹配。表单操作应该指向URL,而不是本地磁盘文件系统路径。

他使用的是Eclipse,不是Netbeans。谢谢Brabster。家庭作业是编写页面,我们没有被告知专门使用Netbeans或Eclipse。。。所以我仍然要做我的家庭作业,但我就是不知道正确的项目设置应该是什么。哦,好吧,原始信息没有给出web.xml的内容,因此没有足够的信息来诊断问题的细节。很高兴你被分类了。当你提到web.xml文件时,我的脑子里突然亮起了一个灯泡,我又回去发了+谢谢你给我这个主意。很抱歉,我没有早点拿到。@Brabster-我有相关的问题。你能帮帮我吗。谢谢。您已经在
/Login
上映射了servlet。因此,URL应该是
http://localhost:8080/P3/Login
。因此,您需要将表单操作设置为
action=“Login”
。您总是让它看起来很简单^^!:)@BaulusC我刚刚注意到有多少次你把我的问题从
servlet
标记到
servlet
:)。。。然而,好消息是我只花了2年时间就注意到了!!!hehehe@Lirik:哈哈。从那时起,就引入了堆栈交换。不再需要重新标记!;)@我有相关的问题。你能帮帮我吗。谢谢
<?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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>P3</display-name>
  <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>Registration</display-name>
    <servlet-name>Registration</servlet-name>
    <servlet-class>core.Registration</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Registration</servlet-name>
    <url-pattern>/Registration</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>Register</display-name>
    <servlet-name>Register</servlet-name>
    <servlet-class>core.Register</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Register</servlet-name>
    <url-pattern>/Register</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>Login</display-name>
    <servlet-name>Login</servlet-name>
    <servlet-class>core.Login</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Login</servlet-name>
    <url-pattern>/Login</url-pattern>
  </servlet-mapping>
</web-app>