请求行
request
//请求行
//1.获得提交方式
String method = request.getMethod();
System.out.println(method);
//2.获得uri url(post/get获得内容一样)
String uri = request.getRequestURI();
StringBuffer url = request.getRequestURL();
System.out.println(uri);
System.out.println(url);
//3.获得?后面的内容(了解)
String queryString = request.getQueryString();
System.out.println(queryString);
请求头
//1.获得request请求头 (getIntHeader getDateHeader)
String header = request.getHeader("user-agent");
System.out.println(header);
//2.获得客户端地址
String remoteAddr = request.getRemoteAddr();
System.out.println(remoteAddr);
//3.referer:资源来源(通过哪里访问的) -------配合go.html来使用
String referer = request.getHeader("referer");
System.out.println(referer);
案例:防盗链
String referer = request.getHeader("referer");
//判断是自己服务器访问的该链接
if(referer == null||referer.startsWith("http://localhost:8000")) {
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("天气凉快一点哦");
}else {
//跳转到自己的首页(重定向)
response.sendRedirect("/web03/index.html");
}
配合form.html来使用 表单的name为username 则获得对应的值
request.getParameter("username");
//解决中文乱码问题
username = new String(username.getBytes("ISO8859-1"),"UTF-8");
//通过一个名字获得多个值
request.getParameterMap();
案例 将信息插入到数据库中
详情参见 web03—web2
//UserDaoImpl
String sql = "insert into user values(?,?,?,?,?,?,?,?,?,?)";
try {
qu.update(sql,user.getUid(),user.getUsername(),user.getPassword(),user.getName(),user.getEmail(),user.getTelephone(),user.getBirthday(),user.getSex(),user.getState(),user.getCode());
System.out.println("注册成功");
//UserRegisterTest
User user = new User();
UserDao ud = new UserDaoImpl();
try {
//将从表单获得的值封装成一个对象user。
BeanUtils.populate(user, request.getParameterMap());
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String uid = UUID.randomUUID().toString();
user.setUid(uid.replace("-", ""));
ud.saveUser(user);
response.sendRedirect("/web03/index.html");