JavaWeb_day04搜索_乱码_路径_转发重定向_cookie

本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.

**转载请注明 出自 : luogg的博客园 ** 谢谢配合!

搜索功能

DAO层都是一些数据库的增删改查操作
Servlet,控制层
点击页面的搜索,把输入的信息提交到servlet,
实体Bean是针对数据库中的字段而建的, 不和数据库做对应,而是打包一些零散的值的Bean,和它的页面做对应,包名为:com.xxx.view 针对页面的实体Bean

String sql = "select * from copy_emp where 1=1 ";//这局话可以后边添加对应的and xxx=xxx信息; 

//sql语句 精华,判断搜索框是否为空,若不为空,表示输入了数据,那么就在where后边添加对应的and xxx=xxx信息; 
    if(bean.getEmpId() != null && !"".equals(bean.getEmpId())){
		sql = sql + " and employee_id= " + bean.getEmpId();
	}
		
	if(bean.getName() != null && ! "".equals(bean.getName())){
		sql = sql + " and last_name like '%" + bean.getName() +"%'";
	}
    if(bean.getStartHiredate() !=null && !"".equals(bean.getStartHiredate())){
		sql = sql+ " and hire_date >= to_date('"+bean.getStartHiredate()+"','"+"yyyy-mm-dd"+"')";
	}

思路 : 将用户输入的搜索信息,传给servlet,通过页面Bean接受,然后将页面bean通过参数形式传递给dao中的搜索方法,返回list,list返回搜索得到的信息.

页面乱码解决方案

  • response.setContentType("text/html;charset=utf-8");//页面显示汉字
  • 针对表单提交post请求方式
    request.setCharacterEncoding("utf-8);
  • 针对表单提交get请求方式
    String user = request.getParameter("user");
    user = new String(user.getByte("iso-8859-1"),"utf-8");

绝对路径和相对路径

开发一般用绝对路径,
绝对路径 : 是一个完整的路径, 语法 : 工程名字/资源的路径
相对路径 : 是相对于当前资源的路径去找别的路径; ../a/index.html 代表从当前路径挑出来一层,找到a文件夹下的index.html资源
相对路径开头不加/,绝对路径开头加/

转发的时候(request.getRequestDispatcher()) , Servlet中绝对路径写的时候不加工程名字

转发重定向(参考day02)

内部转发和重定向的区别 request.getRequestDispatcher(path)转发/response.sendRedirect(path)重定向
区别在于是否发起新的请求,是否共用同一个request对象

  • 转发没有发起新的请求,url路径不变,与转发的页面公用一个request对象,因此可以传递信息
  • 重定向发起了新的请求,url改变,没有公用一个request对象,不可以传递信息
    这里写图片描述
//1.创建cookie
Cookie c = new Cookie(String name,String value);
//2.设置cookie的存在时间
c.setMaxAge(3000);
//3.将一个cookie添加到客户端
response.add(c);
//4.读取cookie(从客户端读到服务器)
request.getCookie();

cookie的生命周期分为两种类型 :

  1. 没有设置过(setMaxAge())时间的,关闭浏览器时生命周期结束
  2. 设置过时间的,保存在本地磁盘,当设置的时间到达,或把值从本地删除时生命周期结束.
    注意:不同浏览器cookie保存的值的位置是不同的
posted @ 2016-10-31 22:08  洛GG  阅读(483)  评论(0编辑  收藏  举报