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对象,不可以传递信息
cookie
//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的生命周期分为两种类型 :
- 没有设置过(setMaxAge())时间的,关闭浏览器时生命周期结束
- 设置过时间的,保存在本地磁盘,当设置的时间到达,或把值从本地删除时生命周期结束.
注意:不同浏览器cookie保存的值的位置是不同的
JavaWeb_day04搜索_乱码_路径_转发重定向_cookie的更多相关文章
- 改变Chrome浏览器主程序_缓存_个人信息路径
改变Chrome浏览器缓存_个人信息路径(亲测) actionx2上传于2012-10-26|(7人评价)|3077人阅读|41次下载|文档简介|举报文档 在手机打开 改变 Chrom ...
- BZOJ_3697_采药人的路径_点分治
BZOJ_3697_采药人的路径_点分治 Description 采药人的药田是一个树状结构,每条路径上都种植着同种药材. 采药人以自己对药材独到的见解,对每种药材进行了分类.大致分为两类,一种是阴性 ...
- Demo02_对结构体进行文件读写_张仕传_作业_
#include <iostream> using namespace std; #define StructArrarySize 5 // 老师数量 #define StudentNum ...
- ArcGIS for Desktop入门教程_第七章_使用ArcGIS进行空间分析 - ArcGIS知乎-新一代ArcGIS问答社区
原文:ArcGIS for Desktop入门教程_第七章_使用ArcGIS进行空间分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 使用ArcGIS进行空间分析 1.1 GIS分析基础 G ...
- ArcGIS for Desktop入门教程_第六章_用ArcMap制作地图 - ArcGIS知乎-新一代ArcGIS问答社区
原文:ArcGIS for Desktop入门教程_第六章_用ArcMap制作地图 - ArcGIS知乎-新一代ArcGIS问答社区 1 用ArcMap制作地图 作为ArcGIS for Deskto ...
- ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区
原文:ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 入门案例分析 在第一章里,我们已经对ArcGIS系列软件的体系结构有了一 ...
- CLOSE-UP FORMALWEAR_意大利进口_2015秋冬_男装发布会_西装图片系列_男装西装设计资料_WeArTrends时尚资讯网_国内最专业的服装设计资讯网站
CLOSE-UP FORMALWEAR_意大利进口_2015秋冬_男装发布会_西装图片系列_男装西装设计资料_WeArTrends时尚资讯网_国内最专业的服装设计资讯网站 CLOSE-UP FORMA ...
- 金洪林:红邦创衣止于至善_品牌-生活时尚_品牌_YOKA时尚网
金洪林:红邦创衣止于至善_品牌-生活时尚_品牌_YOKA时尚网 金洪林:红邦创衣止于至善
- 联系我们_你我想法_【有男度】UNANDU 100%进口 全球设计师品牌精汇 男装_男装搭配_时尚男装_品牌男装_男装搭配技巧_男装网站
联系我们_你我想法_[有男度]UNANDU 100%进口 全球设计师品牌精汇 男装_男装搭配_时尚男装_品牌男装_男装搭配技巧_男装网站 联系我们 2012-02-17 国内北京公司总部 邮编 ...
随机推荐
- git克隆项目到本地&&全局安装依赖项目&&安装依赖包&&启动服务
一.安装本地开发环境 1.安装本项目 在需要保存到本地的项目的文件夹,进入到文件夹里点击右键,bash here,出现下图: 2.安装依赖项目 3.安装依赖包(进入到命令行) # 安装依赖包 $ ...
- JavaScript基础知识总结(一)
当我们接触一种新语言时,首先要先了解它,对它有一定的理论认识. 那么,什么是JavaScript呢? JavaScript是一种脚本语言,由web浏览器进行解释和执行.它包括ECMAScript.DO ...
- css3圆形百分比进度条的实现原理
原文地址:css3圆形百分比进度条的实现原理 今天早上起来在查看jquery插件机制的时候,一不小心点进了css3圆形百分比进度条的相关文章,于是一发不可收拾,开始折腾了... 关于圆形圈的实现,想必 ...
- Atitit.cto 与技术总监的区别
Atitit.cto 与技术总监的区别 1. 核心区别1 2. Cto主要职责1 3. 如何提升到cto1 4. CTO五种基本的必备素质:2 5. 2 1. 核心区别 技术总监(Chief Tech ...
- CentOS下Zabbix安装部署及汉化
搭建环境:Centos6.5_x86_64,Zabbix2.4.5,epel 源 服务端: 1.安装开发软件包yum -y groupinstall "Development Tools&q ...
- 在多线程编程中lock(string){...}隐藏的机关
常见误用场景:在订单支付环节中,为了防止用户不小心多次点击支付按钮而导致的订单重复支付问题,我们用 lock(订单号) 来保证对该订单的操作同时只允许一个线程执行. 这样的想法很好,至少比 lock( ...
- 《图解HTTP》读书笔记
目前国内讲解HTTP协议的书是在太少了,记忆中有两本被誉为经典的书<HTTP权威指南>与<TCP/IP详解,卷1>,但内容晦涩难懂,学习难度较大.其实,HTTP协议并不复杂,理 ...
- iOS开发系列--网络开发
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
- 【WCF】操作选择器
在开始吹牛之前,先说说.net Core的事情. 你不能把.NET Core作为全新体系来学习,因为它也是.NET.关于.NET Core,老周并不打算写什么,因为你懂了.NET,就懂了.NET Co ...
- 详细解说 STL 排序(Sort)
0 前言: STL,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算 ...