2019JavaEE期末复习整理最新版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

username:

password:

address:

Get.jsp

请输入id:

Update.jsp

username:

password:

address:

Delete.jsp

请输入删除的id:

订餐:订购、订餐信息修改、删除同上,根据实际情况自行修改

五、设计数据库

创建表,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;

相关文档
最新文档