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保存的值的位置是不同的

转载于:https://www.cnblogs.com/luogg/p/6017559.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值