因此,经过大量的反复试验,我终于得到了一台服务器并运行了一个示例servlet。
我正在尝试制作它,以便您可以输入歌曲和艺术家并按提交,我的java程序将读取信息。
我想要的信息来自JSP页面上的表单。代码在这里:
<form>
<input type="text" placeholder="Enter Song"/>
<input type="text" placeholder="Enter Artist"/>
<input type="submit" value="Submit" formmethod="post" formaction="GetSongAndArtist"/>
</form>
现在,我已经为我的servlet代码写了这个,但我只是不确定我需要做什么来完成它:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet GetSongAndArtist</title>");
out.println("</head>");
out.println("<body>");
BufferedReader br = request.getReader();
out.println("<h2>" + br.read() + "</h2>");
out.println("<h1>Servlet GetSongAndArtist at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
所以我的问题是,用户在文本框中写入的信息是否会自动包含在HTTP帖子请求中?此外,阅读信息的最佳方式是什么?
答案 0 :(得分:3)
尝试提供inputs
名称:
<input type="text" name="song" placeholder="Enter Song"/>
<input type="text" name="artist" placeholder="Enter Artist"/>
然后使用HttpServletRequest
对象获取参数:
String song = request.getParameter("song");
String artist = request.getParameter("artist");
答案 1 :(得分:1)
您可以这样写form
:
<form action="ServletName" method="GET">
<input type="text" name="song" placeholder="Enter Song"/>
...
</form>
并创建一个web.xml
文件,如下所示:
<servlet>
<servlet-name>ServletName</servlet-name>
<servlet-class>Servlet_name</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletName</servlet-name>
<url-pattern>/ServletName</url-pattern>
</servlet-mapping>
在你的servlet中检索数据使用:
String song = request.getParameter("song");
...