一、mvc的作用:mvc是一种思想,用来解决,大型项目中,代码层次不清,耦合度过高,不易扩张的问题。
mvc分别指什么:m指模型层,v值视图层,c指控制层
mvc的执行流程:
1.浏览器发出请求
2.被控制器中的核心控制器dispatchservlet拦截到,拦截到后被handleMapping对请求进行处理,将请求分发给不同的Cotrolller
3.controller执行后,返会一个modelandview(存储数据)。这里面包含了3个参数:将要跳往的页面;数据的key;数据的value。
4.当modelAndview返回到控制器时,控制器不能直接解析modelandview的数据。需要调用一个视图解析器进行解析,结合前缀加后缀的方式,返回到相应的界面。
二、通过spring执行登录方式——纯用xml配置,非注解
1.新建工程
2.导包。需要核心包。spring web包如果需要jdbctemplate操作数据库,好需要导入持久化包
3.在web.xml文件总配置dispatchservlet
4.1在rsc/applicationContext.xml下配置handleMapping
<bean id="handlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
abstract="false" lazy-init="default" autowire="default">
<property name="mappings" ref="urlMapping"></property>
</bean>
4.2配置控制器
<util:properties id="urlMapping">
<prop key="/login.html">loginControll</prop>
<prop key="/regist.html">registControll</prop>
<prop key="/userList.html">userListControll</prop>
</util:properties>
<bean id="loginControll" class="com.eduask.smc.login1.controller.LoginController">
<constructor-arg index="0" ref="userService">
</constructor-arg>
</bean>
<bean id="registControll" class="com.eduask.smc.login1.controller.RegisetController"/>
<bean id="userListControll" class="com.eduask.smc.login1.controller.UserListController"/>
<bean id="userService" class="com.eduask.smc.login1.serviceimpl.UserServiceImpl"/>
5.写控制层
注意点:在new实例时或属性注入时,可以采取3中方式进行属性的注入
1.使用属性setter方法注入
举例:public class UserServiceImplBySetter implements UserService
{
private PersonDao personDao;
public void show()
{
personDao.show();
}
public PersonDao getPersonDao()
{
return personDao;
}
public void setPersonDao(PersonDao personDao)
{
this.personDao = personDao;
}
}
2.使用构造器注入
public class UserServiceImplConstructor implements UserService
{
private PersonDao personDao;
private String name;
public UserServiceImplConstructor(PersonDao personDao, String name)
{
this.personDao = personDao;
this.name = name;
}
public void show()
{
personDao.show();
System.out.println("name属性:"+name);
}
}
在applicationcontext。xml中对应的控制器bean注入中添加
<constructor-arg index="0" ref="userService">
</constructor-arg>
另外
<bean id="userService" class="com.eduask.smc.login1.serviceimpl.UserServiceImpl"/>
3.使用注解方式注入
6:去写服务
7:去写领域对象
8:去写dao
mvc分别指什么:m指模型层,v值视图层,c指控制层
mvc的执行流程:
1.浏览器发出请求
2.被控制器中的核心控制器dispatchservlet拦截到,拦截到后被handleMapping对请求进行处理,将请求分发给不同的Cotrolller
3.controller执行后,返会一个modelandview(存储数据)。这里面包含了3个参数:将要跳往的页面;数据的key;数据的value。
4.当modelAndview返回到控制器时,控制器不能直接解析modelandview的数据。需要调用一个视图解析器进行解析,结合前缀加后缀的方式,返回到相应的界面。
二、通过spring执行登录方式——纯用xml配置,非注解
1.新建工程
2.导包。需要核心包。spring web包如果需要jdbctemplate操作数据库,好需要导入持久化包
3.在web.xml文件总配置dispatchservlet
4.1在rsc/applicationContext.xml下配置handleMapping
<bean id="handlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
abstract="false" lazy-init="default" autowire="default">
<property name="mappings" ref="urlMapping"></property>
</bean>
4.2配置控制器
<util:properties id="urlMapping">
<prop key="/login.html">loginControll</prop>
<prop key="/regist.html">registControll</prop>
<prop key="/userList.html">userListControll</prop>
</util:properties>
<bean id="loginControll" class="com.eduask.smc.login1.controller.LoginController">
<constructor-arg index="0" ref="userService">
</constructor-arg>
</bean>
<bean id="registControll" class="com.eduask.smc.login1.controller.RegisetController"/>
<bean id="userListControll" class="com.eduask.smc.login1.controller.UserListController"/>
<bean id="userService" class="com.eduask.smc.login1.serviceimpl.UserServiceImpl"/>
5.写控制层
注意点:在new实例时或属性注入时,可以采取3中方式进行属性的注入
1.使用属性setter方法注入
举例:public class UserServiceImplBySetter implements UserService
{
private PersonDao personDao;
public void show()
{
personDao.show();
}
public PersonDao getPersonDao()
{
return personDao;
}
public void setPersonDao(PersonDao personDao)
{
this.personDao = personDao;
}
}
2.使用构造器注入
public class UserServiceImplConstructor implements UserService
{
private PersonDao personDao;
private String name;
public UserServiceImplConstructor(PersonDao personDao, String name)
{
this.personDao = personDao;
this.name = name;
}
public void show()
{
personDao.show();
System.out.println("name属性:"+name);
}
}
在applicationcontext。xml中对应的控制器bean注入中添加
<constructor-arg index="0" ref="userService">
</constructor-arg>
另外
<bean id="userService" class="com.eduask.smc.login1.serviceimpl.UserServiceImpl"/>
3.使用注解方式注入
6:去写服务
7:去写领域对象
8:去写dao
本文介绍了MVC架构的概念及其在解决大型项目代码组织问题中的应用,并详细阐述了基于Spring框架的登录功能实现过程。
359

被折叠的 条评论
为什么被折叠?



