SSM复习

本文讲解了如何在Spring MVC中使用mapper.xml文件绑定AccountMapper接口,并实现增删改查操作,同时介绍了ModelAndView在页面跳转中的应用,以及上下文初始化参数在项目启动中的作用。
摘要由CSDN通过智能技术生成

1.mapper.xml 中 namespace绑定Dao接口,对应接口名

通过id执行接口中的方法。增删改查的id与与接口中方法名一模一样。

<!--mapper.xml-->
<mapper namespace="mapper.AccountMapper">
     <insert id="save" parameterType="domain.Account">
         insert into account values(#{id},#{name},#{money});
     </insert>
    <select id="findall" resultType="domain.Account">
        select * from account;
    </select>
//mapper接口

package mapper;

import domain.Account;

import java.util.List;

public interface AccountMapper {
    public void save(Account account);
    public List<Account> findall();
}

2.ModelandView

model:模型  view:视图

       业务处理器调用模型层处理完用户请求后,把结果数据存储在该类的model属性中,把要返回的视图信息存储在该类的view属性中,然后让该ModelAndView返回该Spring MVC框架。框架通过调用配置文件中定义的视图解析器,对该对象进行解析,最后把结果数据显示在指定的页面上。

<!--    配置视图解析器-->
<bean id="resourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/pages/">   前缀
    </property>
    <property name="suffix" value=".jsp"></property>  后缀
</bean>

2.1页面跳转:

  +上面视图解析器→返回地址: /WEB-INF/pages/accountList.jsp 

    
@RequestMapping("findall")  //用来处理请求地址映射的注解,可用于类或方法上。
 /**   public ModelAndView findall(){
        List<Account> accountList = accountService.findall();
/****/
        ModelAndView modelAndView=new ModelAndView();

        //设置模型数据  以键值对的形式, 数据将存储到request域中
        modelAndView.addObject("accountList",accountList);

        //设置视图的名称    即要跳转(或者重定向)的资源路径
        modelAndView.setViewName("accountList");
/**
        return modelAndView;
    }**/

3.上下文初始化参数

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

作用:该元素用来声明应用范围(整个WEB项目)内的上下文初始化参数。

param-name 设定上下文的参数名称。必须是唯一名称

param-value 设定的参数名称的值

 1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param>

2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.

3.容器将<context-param></context-param>转化为键值对,并交给ServletContext.

4.容器创建<listener></listener>中的类实例,即创建监听.

5.在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得ServletContext = ServletContextEvent.getServletContext();
context-param的值 = ServletContext.getInitParameter("context-param的键");

6.得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早.
换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的WEB项目完全启动之前被执行.

7.举例.你可能想在项目启动之前就打开数据库.
那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接.

8.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.           

                                                                                             ————复制粘贴的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值