SpringMVC

博客介绍了SpringMVC可替代servlet。学习Spring可通过注解注入对象,支持事务管理和AOP;MyBatis是半自动化ROM,方便结果封装和增删改查。还回顾了原有servlet方式管理不便,指出SSM分别针对某些层解决问题。

#SpringMVC#


用来替代servlet

#1#src/resource File XML

   

 <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
     <!-- mvc配置文件-->

     <!-- 开启扫描 -->
        <context:component-scan base-package="com.beiwo.contorller"></context:component-scan>
       <mvc:annotation-driven />
         <!-- 视图的相应
                 将来我们只需要去书写跳转的路径 index
      /WEB-INF/jsp/index.jsp
       -->   
        <!-- 接收的请求 -->
        <bean name="/index.html" class="Dao.indexcontorller"></bean>
        
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>
        </bean>
        </beans>




#2#Dao

      

 //标注这个类成为接受的请求的控制器
    @Controller
    @RequestMapping("/user")//相当于文件夹
    public class indexcontorller{
    private Logger logger=Logger.getLogger(indexcontorller.class);
    

    (如果是继承extends AbstractController则实现该方法,不继承则一般使用注解)
    【//    @Override
    //    protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
    //        // TODO Auto-generated method stub
    //        System.out.println("springmvc");
    //        return new ModelAndView("index");
    //    }
        
    //    @RequestMapping("/index")
    //    public ModelAndView index(){
    //        
    //        return new ModelAndView("index");
    //    }
        】
       /* @RequestMapping("/index.html")
    public ModelAndView index(){
        System.out.println("使用注解的方式来实现接受请求");
        return new ModelAndView("index");
    }*/
      /*  @RequestMapping(value="/index.html",method=RequestMethod.POST)
    public String index(@RequestParam(value="name",required=false) String name){
        System.out.println("使用注解的方式来实现接受请求");
        System.out.println("name是:"+name);
        return "index";
    }*/
     /*   @RequestMapping(value="/index.html",method=RequestMethod.GET)
    public String index2(@RequestParam(value="name",required=false) String name){
        System.out.println("使用注解的方式来实现接受请求");
        System.out.println("name是:"+name);
        return "index";
    }*/
    @RequestMapping(value="/index2.html",params="name")
    public String index2(String name){
        System.out.println("使用注解的方式来实现接受请求");
        System.out.println("name是:"+name);
        return "index";
    }
    //接下来把请求发送到页面当中
    //传递参数
    //String 返回的jsp的地址
    @RequestMapping(value="/index3.html")
    public ModelAndView index3(String name){
         //先创建返回的对象
        ModelAndView model=new ModelAndView();
        //将name获取出来 之后传入model
        model.addObject("user", name);
    
        //设置返回的视图名称
        model.setViewName("index");
        return model;
    }
    
    @RequestMapping("/index4")
    public String index4(String name,Model model){
        //model.addAttribute("user", name);
        model.addAttribute(name);
    
        model.addAttribute("user", new User("张三", 18));
        return "index";
    }
    @RequestMapping("/index5")
    public String index5(String name,Map<String, Object>model){
          //model.addAttribute("user", name);
     //model.addAttribute(name);
    //model.addAttribute("user", new User("张三", 18));
        model.put("user", name);
        return "index";
    }
    
    }




#3#web xml

 

   <servlet>
      <servlet-name>SpringMVC</servlet-name>
     (第一步 )
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:File.xml</param-value>
      </init-param>
      <!-- 初始化时默认启动这个类 -->
      <load-on-startup>1</load-on-startup>
      </servlet>
      
      <servlet-mapping>
      <servlet-name>SpringMVC</servlet-name>
      <url-pattern>/</url-pattern>
      </servlet-mapping>



#jsp#
  
  

    <body>
    <h1>springmvc返回的数据--->${user }</h1>
      <%--   <h1>springmvc返回的数据--->${string }</h1>
     <h1>springmvc返回的对象数据--->${user.name }</h1> --%>
      </body>



#复习#
刚开始学习了MyBatis框架,后面又学习了spring,学习了这两个框架究竟有什么作用?
1、学习spring---不需要去new对象了,可以直接使用注解注入,默认的就是单例模式----分为懒汉模式和恶汉模式,之后如果我们的项目当中有需要进行事务管理,那么我们也可以使用spring的事务管理。如果需要某些方法的增强,也是使用aop
2、学习MyBatis---是一个半自动化的rom,可以帮助我们自动的将结果封装到对象当中,并且可以非常简单的使用一些增删改查的方法。如果遇到复杂的sql情况,也可以比较方便的进行内容的修改。比如一对一和一对多
3、回顾之前的mvc的模式---
原有的使用servlet的方式---一个请求需要一个servlet,不好管理,并且传递存储的内容都比较麻烦
4、SSM是分别针对某些层来解决问题的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值