创建servlet程序知识点详解---servlet-day03
#1.表单包含有中文参数值,如何处理?
##(1)为什么会有乱码?
表单提交时,浏览器会对中文参数值进行编码/
注:会按照表单所有的页面打开时所使用的字符集进行编码
比如,浏览器会使用utf-8对中文参数值进行解码,而服务器端默认会使用iso-8859-1来解码
所以会产生乱码
##(2)如何解决?
###get请求
<connector uriencoding="utf-8">
注:如果是tomcat8以上的版本,可以不加.只针对get请求有效
#2.如何获得请求参数值
##(1)方式一
string request.getparameter(string paramName)
注:
a.如果请求参数名不存在,返回null
b.表单中的文本输入框,密码输入框,如果不填写任何数据,会获得"".(空字符串)
##(2)方式二:
string[ ] request.getparametervalues(string pararname)
注:
a.当有多个请求参数名相同的时候,使用该方法
b.对于多选框,如果一个都不选,会返回null值
create table user(id primary key auto_increment;username varchar(10);password varchar(10);telphone varchar(10);e-mail varchar(10) );
涉及到web服务器与后端的数据库交互
(1)addUser.html--------网页
(2)AddUserServlet.java----Servlet业务逻辑--创建一个Java类并继承HttpServlet,在类中重写service方法,在方法中书写返回数据相关代码 request.getParameter(String paraName)
(3)ListUserServlet.java-----Servlet业务逻辑
(4)web.xml--------描叙配置文件
(5)User.java----------实体类 (字段以及字段的set,get方法)------该类的结构与表对应
(6)UserDAO.java--------Data Access Object 数据访问对象,里面写所有和jdbc相关的代码
(7)DBUtils.java-------数据库工具类
(8)jdbc.properties(Libraries)------属性配置文件中的数据
为什么使用*.properties:之前写法是把数据库连接信息硬编码的形式写死在.java类中,如果需要修改,必须去java类中找到相对应的代码,这种方式需要工作人员了解代码,使用Properties后可以把数据库连接信息写在配置文件中,修改时不需要关注代码的问题。
UserDAO.java------任何异常都要做的两件事:
1.记日志
2.DAO.java不与用户交互,所以需要抛出异常
step1 建表
step2 导包
step3 实体类
step4 DAO类
step5 在Servlet类中调用DAO提供的方法
UserDAO dao = new UserDAO();
User user = new User();
创建servlet程序知识点详解---servlet-day03的更多相关文章
- 创建servlet程序知识点详解---servlet-day01
方法调用完后,其中的所有局部变量都会消失 ###网络架构 -CS:Client Server 客户端服务器 特点:每种平台都需要开发相对应的app, 开发成本高 功能升级需要下载最新的客户端,用户 ...
- 创建servlet程序知识点详解---servlet-day05
jdbc.properties怎么写? 把秘密改为自己电脑设置的 password url 3306 是安装mysql时所确定的端口 后面还可以接字符集的限定 #1 jsp是什么?(java ser ...
- 创建servlet程序知识点详解---servlet-day12
自定义标签 (1)编程步骤 step1 jsp标签分为复杂标签技术(old),简单标签(new) 注(了解) jsp标签技术分为复杂标签技术(old),简单标签技术(new) step2 ###MVC ...
- 创建servlet程序知识点详解---servlet-day07
情景1: 京东在买东西的时候,只有结帐的时候才会要求必须登录账户 #1.状态管理 ##(1)什么是状态管理? 将浏览器与web服务器之间多次交互当做一个整体来处理,并且将多次交互所涉及的数据(即状态) ...
- 嵌入式Linux应用程序开发详解------(创建守护进程)
嵌入式Linux应用程序开发详解 华清远见 本文只是阅读文摘. 创建一个守护进程的步骤: 1.创建一个子进程,然后退出父进程: 2.在子进程中使用创建新会话---setsid(): 3.改变当前工作目 ...
- Activity知识点详解
Activity知识点详解 一.什么是Activity 官方解释: The Activity class is a crucial component of an Android app, and t ...
- Linux Bash命令关于程序调试详解
转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...
- VS2010开发程序打包详解
VS2010开发程序打包详解 转自:http://blog.sina.com.cn/s/blog_473b385101019ufr.html 首先打开已经完成的工程,如图: 下面开始制作安装程序包. ...
- Java线程创建形式 Thread构造详解 多线程中篇(五)
Thread作为线程的抽象,Thread的实例用于描述线程,对线程的操纵,就是对Thread实例对象的管理与控制. 创建一个线程这个问题,也就转换为如何构造一个正确的Thread对象. 构造方法列表 ...
随机推荐
- Springboot多数据源配置--数据源动态切换
在上一篇我们介绍了多数据源,但是我们会发现在实际中我们很少直接获取数据源对象进行操作,我们常用的是jdbcTemplate或者是jpa进行操作数据库.那么这一节我们将要介绍怎么进行多数据源动态切换.添 ...
- ReentrantLock可重入锁的理解和源码简单分析
import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; /** * @author ...
- PHP 合并有序数组
<?php //两个有序数组合并 $arr1 = [1,5,7,44,66,89]; $arr2 = [4,5,6,88,99,105,111]; $arr3 = []; $l1 = count ...
- 【Static Program Analysis - Chapter 2】 代码的表征之控制流图
(a) an if-then-else (b) a while loop (c) a natural loop with two exits, e.g. while with an if...br ...
- 【IEEE会议论文】格式规范问题
- Text area: The height of the text should not be much smaller than 23.5 cm and the width should no ...
- HTML使用CSS样式的方法
在html网页中引入css样式表主要有一下四种方法 1.行内引入 <p ></p> 2.嵌入式 <style type="text/css"> ...
- 使用npm安装webpack失败时,可能被墙要为cmd命令行设置代理
一.搜索到的相关概念: Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. npm是 Node packaged Modules(node的包管理工具).本身用n ...
- ux.form.field.Month 只能选年、月的时间扩展
效果如图,亲测6.2.1版本可用,用法同时间选择控件 //月弹窗扩展 //只选月 Ext.define('ux.picker.Month', { extend: 'Ext.picker.Month', ...
- Python Pandas 箱线图
各国家用户消费分布 import numpy as np import pandas as pd import matplotlib.pyplot as plt data = { 'China': [ ...
- c++学习计划
我选择的课程是西北工业大学的<C++程序设计> 理由是:西北工业大学的计算机挺不错的,而且这门课程还有"国家精品"的认证,感觉应该挺不错的. 共48讲...有点多 从2 ...