Servlet 的優化
1. 存在的問題
2. 優化解決
3. 代碼示例
package com.company;
import org.apache.commons.beanutils.BeanUtils;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;
@WebServlet("/user")
public class UserServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getParameter("action");
if (action.equals("findAll")) {
this.findAll(request, response);
} else if (action.equals("add")) {
this.add(request, response);
}
}
UserService userService = new UserService();
protected void findAll(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<User> list = userService.findAll();
request.setAttribute("list", list);
request.getRequestDispatcher("/list.jsp").forward(request, response);
}
protected void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
Map<String, String[]> parameterMap = request.getParameterMap();
User user = new User();
BeanUtils.populate(user, parameterMap);
userService.add(user);
response.sendRedirect(request.getContextPath() + "/FindAllServlet");
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
原文鏈接:https://qwert.blog.csdn.net/article/details/105774190