zoukankan      html  css  js  c++  java
  • 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保存的值的位置是不同的
  • 相关阅读:
    生成器
    迭代器
    闭包函数
    装饰器(2)
    装饰器(1)
    名称空间与作用域(2)
    110.网络编程-mail
    109.网络编程-FTP
    108.网络编程-TCP/UDP
    107.xpath
  • 原文地址:https://www.cnblogs.com/luogg/p/6017559.html
Copyright © 2011-2022 走看看