2-6 自由编程
来源:2-6 自由编程
JakePrim
2020-01-09 20:08:02
package com.jakeprim.servlet.direct; import java.io.IOException; 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 SumServlet */ @WebServlet("/direct/sum") public class SumServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public SumServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String num = request.getParameter("num"); if (num != null) { try { Integer number = Integer.valueOf(num); if (number > 100 || number <= 0) { request.setAttribute("msg", "输入数值必须>0 and <=100"); request.getRequestDispatcher("/direct/error").forward(request, response); return; } Integer sum = 0; for (int i = 1; i <= number; i++) { sum += i; } request.setAttribute("sum", sum); request.getRequestDispatcher("/direct/result").forward(request, response); } catch (Exception e) { request.setAttribute("msg", "输入数值类型错误"); request.getRequestDispatcher("/direct/error").forward(request, response); } } else { request.setAttribute("msg", "输入为null!"); request.getRequestDispatcher("/direct/error").forward(request, response); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
上述为求和Servlet,同时还定义错误Servlet和结果Servlet 如下:
package com.jakeprim.servlet.direct; import java.io.IOException; 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 ErrorServlet */ @WebServlet("/direct/error") public class ErrorServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ErrorServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTf-8"); response.setCharacterEncoding("UTF-8"); response.setHeader("content-type", "text/html;charset=UTF-8"); String msg = (String) request.getAttribute("msg"); response.getWriter().append("<h1 style='color:red;'> error:" + msg + "</h1>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
package com.jakeprim.servlet.direct; import java.io.IOException; 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 ResultServlet */ @WebServlet("/direct/result") public class ResultServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ResultServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Integer sum = (Integer) request.getAttribute("sum"); response.getWriter().append("<h1 style='color:green;'> sum:"+sum+"</h1>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
html 代码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="http://localhost:8080/request-struc/direct/sum"> <input type="number" name="num" placeholder="请输入100以内的数字"> <input type="submit" value="求累加和"> </form> </body> </html>
1回答
同学你好!经过老师测试,结果正确,结构完整,命名规范,完成的不错!加油.
祝:学习愉快
相似问题