<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    沉睡森林@漂在北京

    本處文章除注明“轉載”外均為原創,轉載請注明出處。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      152 隨筆 :: 4 文章 :: 114 評論 :: 0 Trackbacks

    Spring2.5MVC應用實例

     

    首先在web.xml中配置spring相關servletlistener

           <!--  Spring 服務層的配置文件 -->

        <context-param>

            <param-name>contextConfigLocation</param-name>

            <param-value>classpath:applicationContext.xml,classpath:dataAccessContext-jdbc.xml</param-value>

        </context-param>

        

        <!--  Spring 容器啟動監聽器 -->

        <listener>

            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

        </listener>

     

        <!--  Spring MVC Servlet,它將加載WEB-INF/annomvc-servlet.xml

               配置文件,以啟動Spring MVC模塊-->

        <servlet>

            <servlet-name>greatwall</servlet-name>

            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

            <load-on-startup>0</load-on-startup>

        </servlet>

     

        <servlet-mapping>

            <servlet-name>greatwall</servlet-name>

            <url-pattern>*.do</url-pattern>

    </servlet-mapping>

     

    配置里面主要涉及三個xml配置文件,分別對應的代碼如下:

    applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"

           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

           xmlns:context="http://www.springframework.org/schema/context"

           xmlns:tx="http://www.springframework.org/schema/tx"

           xmlns:p="http://www.springframework.org/schema/p"

           xsi:schemaLocation="http://www.springframework.org/schema/beans

               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

                     http://www.springframework.org/schema/tx 

                  http://www.springframework.org/schema/tx/spring-tx-2.5.xsd

               http://www.springframework.org/schema/context

               http://www.springframework.org/schema/context/spring-context-2.5.xsd">

          

           <context:annotation-config />

          

        <context:component-scan base-package="com.example" />

    </beans>

    dataAccessContext-jdbc.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"

           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"

           xmlns:tx="http://www.springframework.org/schema/tx"

           xsi:schemaLocation="http://www.springframework.org/schema/beans

               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

                     http://www.springframework.org/schema/tx 

                  http://www.springframework.org/schema/tx/spring-tx-2.5.xsd

               http://www.springframework.org/schema/context

               http://www.springframework.org/schema/context/spring-context-2.5.xsd">

          

           <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

                  <property name="driverClassName" value="com.mysql.jdbc.Driver" />

                  <property name="url" value="jdbc:mysql://localhost/greatwall" />

                  <property name="username" value="root" />

                  <property name="password" value="sa" />

           </bean>

           <!-- ibatis sqlMapClient config -->

        <bean id="sqlMapClient"   class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">

            <property name="configLocation">

                <value>classpath:sql\sql-map-config.xml</value>

            </property>

            <property name="dataSource">

                <ref bean="dataSource"/>

            </property>   

        </bean>

    </beans>

    greatwall-servlet.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"

           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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-2.5.xsd

        http://www.springframework.org/schema/context

        http://www.springframework.org/schema/context/spring-context-2.5.xsd">

           <context:component-scan base-package="com.example" />

           <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

           <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/app/" p:suffix=".jsp" />

    </beans>

     

    其中,dataAccessContext-jdbc.xml這個文件是為了ibatis需要的,如果你使用的hibernate或者jdbc的話,可以先將里面的bean全部去掉,保留一個空的beans節點既可。

     

    實例的java類如下:

    package com.example.controller;

     

    import java.io.IOException;

    import java.io.PrintWriter;

     

    import javax.servlet.http.HttpServletResponse;

     

    import net.sf.json.JSONObject;

     

    import org.springframework.beans.factory.annotation.Autowired;

    import org.springframework.beans.factory.annotation.Qualifier;

    import org.springframework.stereotype.Controller;

    import org.springframework.web.bind.annotation.RequestMapping;

     

    import com.example.domain.Customer;

    import com.example.exception.CustomerException;

    import com.example.service.ICustomerService;

    import com.example.util.ListRange;

     

    @Controller

    public class CustomerController {

          

           @Autowired(required = false)

           @Qualifier("customerService")

           private ICustomerService customerService = null;

     

           @RequestMapping("/listCustomer.do")

           public void list(HttpServletResponse response,int start,int limit) {

                  try {

                         ListRange<Customer> listRange = new ListRange<Customer>();

                         listRange.setLimit(limit);

                         listRange.setStart(start);

                        

                         customerService.queryRecords(listRange);

                         response.setContentType("text/javascript;charset=UTF-8");

                         try {

                                PrintWriter out = response.getWriter();

                                out.write(JSONObject.fromObject(listRange).toString());

                         } catch (IOException e) {

                               

                         }

                        

                  } catch (CustomerException e) {

                         e.printStackTrace();

                  }

           }

     

           @RequestMapping("/deleteCustomer.do")

           public void delete(HttpServletResponse response,String ids) {

                  ListRange<Customer> result = new ListRange<Customer>();

                  result.setSuccess(true);

                  try {

                         customerService.delete(ids);

                  } catch (CustomerException e) {

                         e.printStackTrace();

                         result.setSuccess(false);

                  }

                  response.setContentType("text/javascript;charset=UTF-8");

                  try {

                         PrintWriter out = response.getWriter();

                         out.write(JSONObject.fromObject(result).toString());

                  } catch (IOException e) {

                        

                  }

           }

     

           @RequestMapping("/updateCustomer.do")

           public void update(HttpServletResponse response,Customer customer) {

                  System.out.println(customer);

                  ListRange<Customer> result = new ListRange<Customer>();

                  result.setSuccess(true);

                  try {

                         customerService.update(customer);

                  } catch (CustomerException e) {

                         e.printStackTrace();

                  }

                  response.setContentType("text/javascript;charset=UTF-8");

                  try {

                         PrintWriter out = response.getWriter();

                         out.write(JSONObject.fromObject(result).toString());

                  } catch (IOException e) {

                        

                  }

           }

     

           @RequestMapping("/selectCustomer.do")

           public void select() {

                 

           }

     

           @RequestMapping("/insertCustomer.do")

           public void insert(HttpServletResponse response,Customer customer) {

                  System.out.println(customer);

                  ListRange<Customer> result = new ListRange<Customer>();

                  result.setSuccess(true);

                  try {

                         customerService.insert(customer);

                  } catch (CustomerException e) {

                         e.printStackTrace();

                  }

                  response.setContentType("text/javascript;charset=UTF-8");

                  try {

                         PrintWriter out = response.getWriter();

                         out.write(JSONObject.fromObject(result).toString());

                  } catch (IOException e) {

                        

                  }

           }

     

    }

     

    Spring會自動的將http提交的參數對應到javabean上,這里使用了一個ICustomerService的注入操作,還有一些javabean,可以直接去掉,保留一個最簡單的版本進行測試。

     

    posted on 2008-12-22 13:40 王總兵 閱讀(2258) 評論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 亚洲中文无码永久免| 亚洲国产精品久久丫| 日韩在线视频播放免费视频完整版 | 国产va在线观看免费| 亚洲国产AV无码专区亚洲AV| 中文字幕无线码免费人妻| 亚洲综合无码精品一区二区三区| 免费人成网站永久| 国产亚洲精品成人AA片新蒲金| 一个人免费观看视频在线中文 | 暖暖日本免费中文字幕| 亚洲国产精品久久久久网站| 99re6免费视频| 亚洲香蕉在线观看| 成人永久免费高清| 日韩在线观看视频免费| 亚洲国产精品无码一线岛国| 污污网站免费观看| 国产亚洲国产bv网站在线| 德国女人一级毛片免费| 日本精品久久久久久久久免费| 亚洲午夜久久久久妓女影院 | 亚洲国产精品激情在线观看| 阿v免费在线观看| 亚洲AV永久纯肉无码精品动漫| 国产高清不卡免费在线| 亚洲AV成人片无码网站| 亚洲中文字幕无码不卡电影| 99精品视频免费观看| 久久久久亚洲国产| 激情97综合亚洲色婷婷五| 最近免费中文字幕大全免费 | jiz zz在亚洲| 不卡一卡二卡三亚洲| 精品国产免费人成电影在线观看 | 岛国精品一区免费视频在线观看| 亚洲视频一区网站| 国产免费看插插插视频| 久久久久免费看黄a级试看| 亚洲AV无码资源在线观看| 亚洲Av无码专区国产乱码DVD |