假如,现在我做了一个给用户使用的html页面:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <h1>helloPost!</h1> <body> <form method="post" action="SelectBeer.do"> <p>Select beer</p> <select name="color" size="1"> <option value="light"> light</option> <option value="amber"> amber</option> <option value="brown"> brown</option> <option value="dark"> dark</option> </select> <center> <input type="submit"> </center> </form>> </body> </html>
<form method="post" action="SelectBeer.do"> 中的SelectBeer.do有点像资源名。最终会被http:/127.0.0.1:8080/文件名/SelectBeer.do 的形式访问到。
这是我又写了后台servlet程序,实现了get,post的方法:
package com.example.web; import java.io.IOException; import java.io.PrintWriter; import java.sql.Time; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class HelloWorld2 */ @WebServlet("/HelloWorld2") public class HelloWorld2 extends HttpServlet { private static final long serialVersionUID = 1L; /** * Default constructor. */ public HelloWorld2() { // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ @SuppressWarnings("deprecation") protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub PrintWriter out = response.getWriter(); //out.print("helloWorld"); //String outPut=request.getParameter("input"); out.print(request); System.out.println(request); String c = request.getParameter("color"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("Beer Selection Advice<br>"); String c = request.getParameter("color"); out.println("<br> Got beer color"+c); System.out.println(c); } }
把html放到servlet目录下,发现前后端无法通信。
这时还需要在web.xml下进行设置。
<servlet> <servlet-name>123123</servlet-name> <servlet-class>com.example.web.HelloWorld2</servlet-class> </servlet> <servlet-mapping> <servlet-name>123123</servlet-name> <url-pattern>/SelectBeer.do</url-pattern> </servlet-mapping>
servlet:可以自己设置servlet的资源名字, 然后写上对应的servlet类名
servlet-mapping:自己的servlet与资源的映射关系
发送Post请求:
返回:
发送get请求:
参考:head first,servlet & jsp
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通