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