这是我第一次尝试与Java进行HTML交互。我理解我需要使用Java servlet和HTML索引。我在当地的GlassFish 4服务器上这样做。
我想要的是我的Java EE(Eclipse v4.5(Mars))项目的简单用户输入。我不肯定如何做到这一点。我已经看了教程并阅读了多个指南,但没有一个明确地解释了这种互动。 (这就是为什么我知道我需要一个servlet。)
所以这是我到目前为止的设置,我不知道从哪里开始。
Java servelet
package servletPackage1;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GetUserInputServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException{
String userInput = req.getParameter("UserInput");
}
}
我再次肯定这是正确设置,但我如何从索引文件中获取输入?
这是我的index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>DSS</title>
</head>
<body>
<form action="DATASEARCH/GetUserInputServlet" method="get">
Search for details:<br>
<input type="text" name="text/plain" value="Enter search criteria">
<br>
<br><br>
<input type="submit" class="btn-success btn-md" style="margin-right:5px" id="T1" value="Submit">
</form>
</html>
我发现我需要拥有部署描述符(web.xml文件)。我已经创建了一个,但是在提交时我仍然收到404。 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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>DATASEARCH</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>
</web-app>
这将连接到一个更大的项目(已完成并完美运行)以搜索数据库。我只需要在Web应用程序中获取用户输入。 HTML新手。
我正在寻找答案:
我做了什么错了? (当我点击提交按钮时,我收到404错误)
如何将输入转换为以字符串形式呈现的Java变量?
现在我只使用一个servlet,因为我只需要从单个页面访问单个用户输入。我不理解这个servlet映射以及我应该,但我找不到有关如何映射的信息。任何帮助将不胜感激。
答案 0 :(得分:1)
您需要在部署描述符(web.xml)中添加servlet映射
<servlet-mapping>
<servlet-name>GetUserInputServlet</servlet-name>
<url-pattern>GetUserInputServlet</url-pattern>
</servlet-mapping>
这意味着无论何时转到URL GetUserInputServlet
,控件都将转移到名为GetUserInputServlet
的servlet。
答案 1 :(得分:1)
在from动作中,您只需要添加servlet名称,并且输入类型名称在两个地方都必须相同 例 在HTML中
在servlet中
String abc = request.getparameter(&#34; abc&#34;);
如果没有使用web.xml,那么在servlet类名之前也可以在servlet中使用注释,如
@WebServlet