Servlet 作业
Topic source@WebServlet(urlPatterns = "/")
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 设置响应类型:
resp.setContentType("text/html");
//create resp flush buffer:
PrintWriter pw = resp.getWriter();
// ?&df=32& name=&name =Bob&name=null&name=gg&=gg
Map<String,String[]> namesMap = req.getParameterMap();
// String name = req.getParameter("name");//get first para of names,全字段匹配/包含空格,may get null
boolean hasName =false;
for(String key:namesMap.keySet())
for(String val:namesMap.get(key)){
// if(val==null)break;
// pw.format("<p>%s:%s",key,val);
if("name".equals(key.strip())){
if(val.isEmpty() || val.isBlank())break;
pw.format("<h1>Hello, %s!</h1>",val);
hasName = true;
}
}
if(!hasName)pw.write("<h1>Hello, World!</h1>");
// System.out.println(pw.getClass().getName());
// flush resp buffer to browser resp:
pw.flush();
pw.close();
}
}
// ?&df=32& name=&name =Bob&name=null&name=gg&=gg如果要传多个同名参数,用数组阅读性更好些吧
?name[]=xiaoming&name[]=xiaohong
String[] names = request.getParameterValues("name");
- 1
Junes_99994