Servlet接收不同的表单数据
<form action="/s1" method="post">
<!-- name 是参数名 -->
<input type="date" name="birthday" value="2018-09-15">
<hr>
男
<!-- MALE FEMALE -->
<input type="radio" name="sex" value="男" checked>
女
<input type="radio" name="sex" value="女">
<hr>
唱歌<input type="checkbox" name="hobby" value="1">
跳舞<input type="checkbox" name="hobby" value="2">
睡觉<input type="checkbox" name="hobby" value="3">
玩游戏<input type="checkbox" name="hobby" value="4">
<hr>
<!-- option 标签如果不提供 value属性, 把标签之间的文本当成value
如果提供了value属性,以value为准
-->
<select name="city">
<option>北京</option>
<option>天津</option>
<option value="shanghai">上海</option>
<option>武汉</option>
</select>
<hr>
个人简介:
<textarea name="intro" cols="30" rows="10"></textarea>
<input type="submit" value="提交">
</form>
@WebServlet(urlPatterns = "/s1")
public class Servlet1 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 处理汉字乱码
req.setCharacterEncoding("utf-8");
// 1) 日期类型的接收,需要注意转换字符串为java中的Date类型
String birthday = req.getParameter("birthday");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse(birthday);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
// 2) 处理单选按钮
String sex = req.getParameter("sex");
System.out.println(sex);
// 3) 处理复选框, 注意处理null值(都没有勾选时,就是null值)
String[] hobbies = req.getParameterValues("hobby");
if(hobbies != null) {
for (String hobby : hobbies) {
System.out.println(hobby);
}
}
// 4)处理下拉列表
String city = req.getParameter("city");
System.out.println(city);
// 5)处理文本域
String intro = req.getParameter("intro");
System.out.println(intro);
}
}
JSP的九大内置对象: 无需声明即可使用的对象
request: 代表请求对象(可以获取请求参数,将变量存储到 request作用域 中)