java web 实操部分
2023-11-06 11:58:40 0 举报
AI智能生成
java web 实操部分
作者其他创作
大纲/内容
idea打开项目
maven重新配置
JDK配置下
材料
1. 项目代码
2. 实操文档手册
3. 数据库脚本
JavaBean规范
* 一个标准的JavaBean需要遵从以下规范:
* JavaBean是一个公开的(public)类,以便被外部程序访问;
* 具有一个无参的构造方法(即一般类中默认的构造方法),以便被外部程序实例化时调用;
* 提供setXxx()方法和getXxx()方法,以便让外部程序设置和获取其属性。
* 凡是符合上述规范的Java类,都可以被称为JavaBean。
* JavaBean是一个公开的(public)类,以便被外部程序访问;
* 具有一个无参的构造方法(即一般类中默认的构造方法),以便被外部程序实例化时调用;
* 提供setXxx()方法和getXxx()方法,以便让外部程序设置和获取其属性。
* 凡是符合上述规范的Java类,都可以被称为JavaBean。
public class StudentBean {
private String name;
private int age;
private String sex;
// Getter / Setter
}
private String name;
private int age;
private String sex;
// Getter / Setter
}
我们一般是依据数据库中的表去设计我们的JavaBean实体对象
1. 实体类的属性名 与 表的列名要保持一致
2. 实体类的属性类型 与 表的列的数据类型保持一致
3. getter setter 前往不要忘记了(lombok) @Data
会话
客户端访问服务端发生的一系列请求和响应过程称之为会话。
通俗的说:从打开浏览器向服务器端发送请求开始,
到客户端关闭浏览器结束访问为止,就是一个会话 3. URL重写
4. 隐藏表单域
通俗的说:从打开浏览器向服务器端发送请求开始,
到客户端关闭浏览器结束访问为止,就是一个会话
1. Cookie
Cookie由服务器生成,然后发送给客户端浏览器,
浏览器会将 Cookie保存到客户端内存中或者保存到客户端某个目录下的文本文件内。
下次请求同一网站时就发送该 Cookie给 服务器(前提是浏览器设置为启用 Cookie)。
浏览器会将 Cookie保存到客户端内存中或者保存到客户端某个目录下的文本文件内。
下次请求同一网站时就发送该 Cookie给 服务器(前提是浏览器设置为启用 Cookie)。
Cookie较为典型的应用就是:
保存已成功登录过的用户的用户名信息,
以便在 下一次登录此网站时,不需输入用户名,
简化登录手续,完成自动登录等功能。
保存已成功登录过的用户的用户名信息,
以便在 下一次登录此网站时,不需输入用户名,
简化登录手续,完成自动登录等功能。
2. Session
1. 当第一次请求时,在服务器端创建一个Session对象,并且为此对象生成一个sessionId。
2. 同时,使用Cookie将此sessionId返回给客户端,并存储在客户端的Cookie中。
3. 当客户端发起下一次请求时,必须携带此sessionId发送给服务器端。
4. 服务器端根据接收的sessionId,就能找回Session对象,从而获取了上一次请求的信息。
2. 同时,使用Cookie将此sessionId返回给客户端,并存储在客户端的Cookie中。
3. 当客户端发起下一次请求时,必须携带此sessionId发送给服务器端。
4. 服务器端根据接收的sessionId,就能找回Session对象,从而获取了上一次请求的信息。
Java Web 开发模式
controller(前台迎宾小哥)
1. @Controller
声明此类为控制器类:把这个类实例化,并加入到容器中,由IOC 容器进行管理
2. @RequestMapping
//定义在类上,代表一级目录
url地址 例如 @RequestMapping("/abc")
url地址 例如 @RequestMapping("/abc")
3. @Autowired
@Autowired
private UserService userService;
private UserService userService;
去容器中搜索类型是 UserService的实现类
4. 控制器方法
1. @RequestMapping
//定义在方法上,代表二级目录
url地址 例如@ RequestMapping("/def")
url地址 例如@ RequestMapping("/def")
2. 方法返回类型
json
jsp页面
方法类型是String
重定向
方法类型是String
return "redirect:/anotherPage"
http://localhost:9999/xmvc01/users/index
浏览器会跳转到一个新页面
转发
方法类型是String
return "forward:/users/index";
http://localhost:9999/xmvc01/users/index
浏览器的地址不会发生改变
页面+数据(ModelAndView)
1. ModelAndView mv = new ModelAndView();
2. 添加数据
mv.addObject("userList",users);
mv.addObject("userList",users);
4. 如果是重定向操作(重定向到 http://localhost:9999/xmvc01/index)
RedirectView redirectView = new RedirectView("/index",true);
mv.setView(redirectView);
RedirectView redirectView = new RedirectView("/index",true);
mv.setView(redirectView);
试试:View view = new InternalResourceView("/view1.jsp");//明确指定返回jsp文件
modelAndView.setView(view);
modelAndView.setView(view);
3. 设置页面
mv.setViewName("users");//指定返回视图的前缀,后缀需要寻找springmvc.xml配置文件
mv.setViewName("users");//指定返回视图的前缀,后缀需要寻找springmvc.xml配置文件
3. 方法参数
1. HttpServletRequest request
这个可以加,也可以不加
加这个参数的目的是为了获取request,session等
2. 实体对象
POST
依据前端传递的参数进行选择哪个实体类
1. 前端发送post 表单请求,请求体中携带参数
{
userName: admin,
password: 123456
}
2. 前端发送的json请求的key务必与实体类的属性完全一致(包括大小写)
{
userName: admin,
password: 123456
}
2. 前端发送的json请求的key务必与实体类的属性完全一致(包括大小写)
1. 前端如果发送的post请求,是Content-Type:application/json
2. 后端用是实体类接受数据的时候,需要添加@RequestBody
2. 后端用是实体类接受数据的时候,需要添加@RequestBody
GET
请求路径http://localhost:9999/xmvc01/index4?name=z3&id=10
4. 方法体
一般会在方法体中 调用service层的方法
service(业务员)
1. 接口文件
声明空方法
2. 接口实现类
1. @Service
在类上添加这个注解,表示将这个实现类实例化,加入到容器之中
2. Autowired
@Autowired
private UserMapper userMapper;
private UserMapper userMapper;
去容器中搜索类型是 UserMapper的实现类
3. 实现接口空方法
一般会在空方法中 调用mapper层的方法
dao/mapper(仓库员)
接口文件
1. @Mapper
在接口的上方需要加上这个注解:表示将这个代理实现类加入到IOC容器进行管理
2. 声明空方法
返回类型
增删改操作
1. integer
查询操作(90%)
1. 一个实体
2. 多个实体
传参
实体对象
一个或者多个基本数据类型参数
空
xml映射文件
1. sql 语句拼接的时候,可以在navicat中运行下,保证没有问题了,在拷贝到xml文件中
2. <select>,<update>,<delete>,<insert> 可以自动生成
namespace 全限定类名
项目包结构
1,com.neusoft.pojo 存放实体类(cn.fvti.chapter01.domain)
2,com.neusoft.dao/mapper 存放数据访问层接口类
3,com.neusoft.dao.impl 存放数据访问层实现类
4,com.neusoft.service 存放业务接口类
5,com.neusoft.service.impl 存放业务接口实现类
6. com.neusoft.controller 存放控制器类
2,com.neusoft.dao/mapper 存放数据访问层接口类
3,com.neusoft.dao.impl 存放数据访问层实现类
4,com.neusoft.service 存放业务接口类
5,com.neusoft.service.impl 存放业务接口实现类
6. com.neusoft.controller 存放控制器类
收藏
0 条评论
下一页