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回答
同学你好!经过老师测试,结果正确,结构完整,命名规范,完成的不错!加油.
祝:学习愉快
相似问题