2019JavaEE期末复习整理最新版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中文乱码问题的解决方法
一种写一个过滤器。
一种是在servlet里设置中文编码为GB2312.
Request.setCharacterEncoding(“GB2312”);
什么是spring
Spring是分层的JavaSE/EE full-stack 轻量级开源框架,以IoC (Inverse of Control 控制反转)和AOP(Aspect Oriented Programming 面向切面编程)为内核,使用基本的JavaBean来完成以前只可能由EJB完成的工作,取代了EJB的臃肿、低效的开发模式。
spring核心组件:Core、Context 和 Beans其中最核心的组件就是Beans, Spring提供的最核心的功能就是Bean Factory。Spring 优点
非侵入式设计、方便解耦、简化开发、支持AOP、支持声明式事务处理、方便程序测试、方便集成各种优秀框架、降低Java EE API 的使用难度
IOC
在使用Spring框架之后,对象的实例不再由调用者来创建,而是由Spring容器来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权由应用代码转移到了Spring容器,控制权发生了反转,这就是控制反转。
IOC的注入方式
Set注入与构造注入
DI
从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,这相当于为调用者注入了它依赖的实例,这就是Spring的依赖注入。
Bean
Bean的本质就是Java中的类,而Spring中的Bean其实就是对实体类的引用,来生产Java类对象,从而实现生产和管理Bean 。Bean的实例化方式
构造器实例化、静态工厂方式实例化和实例工厂方式实例化
Bean的装配方式
基于XML的装配、基于注解(Annotation)的装配和自动装配
简述MVC设计模式
简述jsp和servlet的关系
jsp就是一种基于servlet的技术,jsp的实现都必须将jsp译成servlet,jsp充分利用了servlet的平台独立性,安全性、可升级性以及强壮性等优点,jsp和servlet是可以相互操作的,jsp页面可以包含从serlet程序程序输出的内容,可以将内容输出到servlet程序。反过来servlet程序也可以包含从jsp页面输出的内容并且可以将内容输出到jsp页面。
SpringMVC是什么
Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架。它与Struts2框架一样,都属于MVC框架,但其使用和性能等方面比Struts2更加优异。
SpringMVC特点
是Spring框架的一部分、灵活性强、提供了一个前端控制器DispatcherServlet、自动绑定用户输入、内置了校验器、支持国际化、支持多种视图、基于XML的配置
SpringMVC 的核心组件有哪些?简述其工作原理。
1、DispatcherServlet:中央控制器,把请求给转发到具体的控制类
2、Controller:具体处理请求的控制器
3、HandlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略
4、ModelAndView:服务层返回的数据和视图层的封装类
5、ViewResolver:视图解析器,解析具体的视图
6、Interceptors :拦截器,负责拦截我们定义的请求然后做处理工作
工作原理:request请求到前端控制器拦截,传到映射器处理器,生成具体的处理器对象返回,前端控制器通过返回寻找合适的处理器适配器,处理器适配器调用并执行controller,controller执行后返回模型和视图,组成成ModelAndView组件,通过ViewResolver返回到特定的前台页面。
Mybatis是什么
MyBatis 是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的XML 或注解来配置和映射原生类型、接口和Java 的POJO(Plain Old Java Objects)为数据库中的记录。
Mybatis一对一实体关系映射
嵌套查询是通过执行另外一条SQL映射语句来返回预期的复杂类型。
嵌套结果是使用嵌套结果映射来处理重复的联合结果的子集。Spring和Mybatis整合
1、创建项目,引入JAR包
2、编写db.properties
3、编写Spring 配置文件applicationContext.xml
4、编写MyBatis配置文件mybatis-config.xml
5、引入log4j.properties
网上订餐系统
三、(1)软件结构
(2)相关的类和视图(类名及功能以及主要属性与方法、视图名及功能)
User:model
视图:register.jsp、delete.jsp、get.jsp、update.jsp、success.jsp (3)service层和dao
层的相关类(类名及功能以及主要属性与
方法)
UserMapper : deleteByPrimaryKey、insert、selectByPrimaryKey、updateByPrimaryKey
UserService:deleteByPrimaryKey、insert、selectByPrimaryKey、updateByPrimaryKey
userServiceImpl:
(4)画出以上类图
四、设计表单
用户:注册、修改、删除
Register.jsp
Get.jsp
Update.jsp
Delete.jsp
订餐:订购、订餐信息修改、删除同上,根据实际情况自行修改
五、设计数据库
创建表,sql
Create table user(
Id int(6)primary key auto_increment,
Username varchar(25),
Password vachar(25),
Address varchar(25)
)
Create table order(
Id int(6)primary key auto_increment,
name varchar(25),
price double,
num int(3)
totalprice double,
foreign key(userid) reference user(id)
)
插入2条记录,sql
INSERT into user(username, password,address) VALUES("zhangwu","123","huqiu");
INSERT into user(username, password,address) VALUES("zhangliu","123","huqiu");
INSERT into order(name, price,num,totalprice,userid) VALUES("鱼香肉丝",10.0,1,10,1);
INSERT into order(name, price,num,totalprice,userid) VALUES("宫保鸡丁",20.0,1,20,1);
六、设计dao层
(1)JdbcTemplate
@Component("userDaoImpl")
public class UserDaoImpl implements UserDao {
@Resource(name = "JdbcTemplate")
public JdbcTemplate jdbc;
@Override
public void create(User user) {
int i = jdbc.update("insert into user(username,password,address) values (?,?,?)", user.getUsername(), user.getPassword(), user.getAddress());
if (i>0){
System.out.println("add ok");
}
}
@Override
public boolean delete(int id) {
boolean res = false;
int i = jdbc.update("delete from user where id=?", id);
if (i>0){
res = true;