javax.servlet.http.HttpServletRequest
javax.servlet.http.HttpServletResponse
在哪个jar包中???
tomcat目录下,lib文件夹中就有那两个包,servlet-api.jar和jsp-api.jar(把jsp-api ,servlet-api放到项目中的web-inf/lib目录下即可)
用什么作用???
HttpServletRequest(请求过来的东西用这个接口获取)
HttpServletRequest接口最常用的方法就是获得请求中的参数,这些参数一般是客户端表单中的数据。同时,HttpServletRequest接口可以获取由客户端传送的名称,也可以获取产生请求并且接收请求的服务器端主机名及IP地址,还可以获取客户端正在使用的通信协议等信息。
常用的方法:
HttpServletResponse(服务器响应客户端的一个请求)
在Servlet中,当服务器响应客户端的一个请求时,就要用到HttpServletResponse接口。设置响应的类型可以使用setContentType()方法。发送字符数据,可以使用getWriter()返回一个对象。下表是接口HttpServletResponse的常用方法。
常用的方法:
举一个简单的例子:
就是正常情况下我们有这样一个功能
当我们登录完成时,需要对用户进行展示,所以我的做法是,存储在HttpSession里,然后在jsp页面获取。
/**
* 登录验证
*/
@RequestMapping("/loginMain")
public void userisLogin(@RequestParam(value = "Username") String userName, @RequestParam(value = "Password") String userPwd, HttpServletRequest httpServletRequest, HttpServletResponse response) throws ServletException, IOException {
System.out.println("进入登录验证");
UserService userService = new UserService();
String getpassword = userService.getpassword(userName);
if (getpassword.equals(userPwd)) {
httpServletRequest.setAttribute("Msg","登录成功");
HttpSession session = httpServletRequest.getSession();
session.setAttribute("userName",userName);
} else if (!getpassword.equals(userPwd)) {
if (getpassword.equals("nouser")) {
httpServletRequest.setAttribute("Msg","无此用户,请先注册");
} else if (getpassword != null) {
httpServletRequest.setAttribute("Msg","密码错误");
}
}
httpServletRequest.getRequestDispatcher("/CloudLogin.jsp").forward(httpServletRequest, response);
}
此时出现效果:
补充:HttpSession了解
在开发过程中我们经常在session里保存一些值,(通过调用 session.setAttribute(“userName”,userName);方法来保存一个键值对。)
并且它是线程安全的。