把地址都改成下列格式
/user/login
/user/regist
.把Servlet路径 /user/*
.servlet第一次被访问会被初始化
str = request.getRequestUri() --> /travel/user/login
截取从最后一个/开始后面的内容
int index = str.lastIndexOf('/')
str.subString(index) /login
str.subString(index+1) login
根据上述逻辑,可以直接接渠道访问的路径的最后的内容login
根据获取的内容通过反射去获取方法
获取class对象
UserServlet对象.getClass().method("方法名称",HttpServletRequest.class,HttpServletResponse.class)
执行方法
method.invoke(具体对象,request,response)
前端:
html (开发静态网页)
css (进行页面优化)
js(javaScript){开发动态网页}
jQuery(前端框架,简化js的开发)
json JavaScript对象标记
Bootstrap: 是基于js,html,javascript的前端框架
web核心:
安装 tomcat
jsp 一种动态网页技术;部署在服务器上,可以响应客户端发送的信息;本质上是一个servlet
servlet 接口,用于客户端访问服务器
request 用于请求服务器端接收信息
response 用于回复服务器端的信息
cookle 会话,多次请求和访问
session 升级版会话
EL 为了使jsp写起来更简单
JSTL jsp标准表示库
Filter 过滤器
Listener 监听器
redis & Jedis 非关系型数据库
maven 项目对象模型,可以通过一小段描述信息来管理项目的创建报告和文档的,项目管理工具软件
数据库:
数据库的增删改查
在Java文件中修改数据库
数据库连接池技术
两种: C#P0
druid 阿里
Java基础:
标识符
常量
变量
数据类型
数组
方法
对象
集合
Java是一种面向对象的计算机语言
继承
封装
多态
包装类
IO流
反射:
序列化
反序列化:
三层架构和mvc的区别:
三层架构:通常意义上的三层架构就是将整个业务应用划分为:界面层;业务逻辑层;数据访问层属于一种软件体系架构
MVC: 全名model View Controller是模型,视图 控制器的缩写
1, 三层是基于业务逻辑来分的; mvc是基于页面来分的
2, mvc是一种复合设计模式,一种解决方案; 三层是种软件框架,通过接口实现编程
3, 三层架构是体系结构; mvc是设计模式
4, 三层架构可归于部署模式; mvc可归于表现模式
案例: 列表查询 ;页面调整;登陆功能;添加功能;删除功能;修改功能;删除选中功能;分页功能;复杂分页功能
MVC:
M:Model,模型。JavaBean * 完成具体的业务操作,如:查询数据库,封装对象
V:View,视图。JSP * 展示数据
C:Controller,控制器。Servlet * 获取用户的输入 * 调用模型 * 将数据交给视图进行展示
web界面层(表示层):用户看的得界面。用户可以通过界面上的组件和服务器进行交互
service业务逻辑层:处理业务逻辑的。
dao数据访问层:操作数据存储文件。
EL:表达式语言
作用:替换和简化jsp中Java代码的编写
语法: ${表达式}
使用:
* 运算符
* 获取值:
** el表达式只能从域对象中获取指定键的值
JSTL:jsp标准标签库
* 由apache 组织提供的免费的开源的jsp标签
作用:用于简化和替换jsp页面上的Java代码
使用步骤:
导入jstl相关的jar包
引入标签库 :taglib指令:<% taglib %>
使用标签
Filter : 过滤器
实现接口: Filter
doFilter();
LIstnner: 监听器
ServletContextListener 接口
void contextDestroyed(ServletContextEvent sce)
void contextInitialized(ServletContextEvent sce)
jQuery : 一个JavaScript框架,简化js开发
JavaScript框架:本质上就是一些js文件,风险慌了js的原生代码
$("#div")
选择器; 筛选具有相同特征的元素(标签)
基本操作学习:
1,事件绑定
click
2,入口函数
$(function(){
})
3, 样式控制
$("选择器").css()
分类:
基本选择器
id选择器
层级选择器
属性选择器
过滤选择器
表单过滤选择器
DOM操作(Document Object model):处理可扩展标志语言的标准编程接口
内容操作:
html()
text()
val()
属性操作;
AJax:
$.ajax()
语法: $.ajax({键值对})
url:请求路径
type: 请求方式
data: 请求参数
success:function(data){
alert(data);
}, //响应成功后的回调函数
error:function(data){
alert(data);
}, //响应失败后出现的回调函数
dataType: //设置接收到的响应数据类型格式
$.get() 发送get请求
语法: $.get(url,[data],[callback],[type])
参数:
url:
data: 请求参数
callback: 回调函数
type: 响应结果的类型
$.post() 发送get请求
语法: $.post(url,[data],[callback],[type])
参数:
url:
data: 请求参数
callback: 回调函数
type: 响应结果的类型
JSON: JavaScript对象表示法
语法:
数据在名称/值对中:接送数据是由键值对组成的
花括号保存对象
方括号保存数组
获取数据:
json对象.键名
json对象["键名"]
json对象[索引]
json数据和Java对象的相互转换:?
*** json 解析器 :jsonlib ; Gson(谷歌提供) ; fastjson(阿里提供); jsckson(Springmvc默认集成)
jsonson 使用步骤:
1,导入jar包
2,创建核心对象ObjectMapper
3, 调用ObjectMapper 转换
转换方法:
01 :writeValue(参数1,obj)
mapper.writeValue(response.getWriter(),对象
String jsonStr=mapper.writeValueAsString(obj)
参数1:
File:
Write 将json填充到字符输出流中
OutputStream: 将json填充到字节输出流中
02: writeValueAsString(obj) : 将对象转化为json字符串
注解:
@JsonIgnore //排除属性
@JsonFormat // 属性的格式化
复杂Java对象转换?
对象 {}
list [{},{}]
Map map的key对应的是json的key,
map的value对应的是json的value
json字符串反序列化成对象(前台传给后台/一般不用)
mapper=new ObjectMapper();
mapper.readValue();
***** 案例: 校验用户名是否存在
服务器响应的数据,在客户端使用时,要想当作json使用?
设置数据类型为json
在服务器端设置mime类型:
responce.setContentType()
var dates =json.parse();
|
|