JSP+Servlet的请求处理方法的指定

1、在JSP界面中的请求中添加一个标记方法的属性method
2、新建一个对应请求的servlet类,并添加doGet和doPost方法,并使用其中之一作为主要方法来使用调用
3、在作为主要方法的之一中的关键代码:
第一种:
String methodName = request.getAttribute("method");
Method method = getClass().getMethod(methodName,HttpRequest.class,HttpResponse.class);
method.invoke(this,request,response); // 第一个参数在api中代表操作创建的底层方法的对象,这里是当前对象,所以为this
第二种:
String methodName = request.getAttribute("method");
Method method = getClass().getDeclareMethod(methodName,HttpRequest.class,HttpResponse.class);
method.setAccessible(true);
method.invoke(this,request,response);
注:第一种方法适用于在doGet和doPost方法外建立的方法名为methodName的方法的权限为public,而第二种适用于创建的方法为保护的protected和private的(不然仍然使用第一种方法会报没有改方法的异常)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个简单的 JSPServlet 实现计算器的示例。 首先,我们需要创建一个 JSP 页面,用于展示计算器界面和接收用户输入。以下是一个示例 JSP 页面: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>计算器</title> </head> <body> <form action="calculator" method="post"> <input type="text" name="num1"> <select name="operator"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <input type="text" name="num2"> <input type="submit" value="计算"> </form> </body> </html> ``` 在这个 JSP 页面中,我们创建了一个表单,包含两个输入框和一个下拉菜单,用户可以输入两个数字和选择一个运算符。当用户点击“计算”按钮时,表单将被提交到名为“calculator”的 Servlet。 接下来,我们需要创建一个 Servlet,用于接收表单数据并计算结果。以下是一个示例 Servlet: ```java import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/calculator") public class CalculatorServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int num1 = Integer.parseInt(request.getParameter("num1")); int num2 = Integer.parseInt(request.getParameter("num2")); String operator = request.getParameter("operator"); int result = 0; switch(operator) { case "+": result = num1 + num2; break; case "-": result = num1 - num2; break; case "*": result = num1 * num2; break; case "/": result = num1 / num2; break; } response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>计算结果</title></head>"); out.println("<body>"); out.println(num1 + " " + operator + " " + num2 + " = " + result); out.println("</body>"); out.println("</html>"); } } ``` 在这个 Servlet 中,我们首先从请求参数中获取用户输入的两个数字和运算符。然后,根据运算符计算结果,并将结果输出到响应中。 最后,我们需要将 JSP 页面和 Servlet 配置到 web.xml 文件中。以下是一个示例 web.xml 文件: ```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>Calculator</display-name> <welcome-file-list> <welcome-file>calculator.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>CalculatorServlet</servlet-name> <servlet-class>com.example.CalculatorServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CalculatorServlet</servlet-name> <url-pattern>/calculator</url-pattern> </servlet-mapping> </web-app> ``` 在这个 web.xml 文件中,我们首先指定了默认的欢迎页面为 calculator.jsp。然后,我们配置了一个名为“CalculatorServlet”的 Servlet,并将它映射到了路径“/calculator”。 现在,当用户访问我们的应用程序时,将会看到一个计算器界面。当用户输入两个数字和选择一个运算符后,点击“计算”按钮将会调用我们的 Servlet,计算结果并将它显示在页面上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值