<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 王總兵 閱讀(2270) 評論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 亚洲av纯肉无码精品动漫| 亚洲国产精品无码久久久久久曰| 亚洲乱码一二三四区乱码| 国产免费毛不卡片| 色视频在线观看免费| 中文字幕亚洲无线码a| 亚洲免费观看在线视频| 精品久久久久久亚洲中文字幕| 久久综合亚洲色HEZYO国产| 88av免费观看入口在线| 美女露隐私全部免费直播| 亚洲国产精品国自产拍AV| 亚洲欧洲日韩综合| 亚洲va久久久久| 国产精品永久免费10000| 免费VA在线观看无码| 四虎免费在线观看| 亚洲国产精品无码久久青草 | 一级毛片aa高清免费观看| 成人毛片免费观看视频在线| 99999久久久久久亚洲| 国产一级淫片a视频免费观看| 日本永久免费a∨在线视频| 久久久久久久综合日本亚洲 | 国产jizzjizz免费看jizz| 免费一级特黄特色大片| 亚洲乱码中文字幕久久孕妇黑人| 免费一级毛片无毒不卡| 亚洲成aⅴ人片在线观| 国产一卡二卡≡卡四卡免费乱码| WWW国产成人免费观看视频| 7777久久亚洲中文字幕蜜桃 | 无码毛片一区二区三区视频免费播放 | 免费国产在线观看| 最近更新免费中文字幕大全| 亚洲精品在线视频观看| 日韩精品视频免费观看| 中文在线观看免费网站| tom影院亚洲国产一区二区| 亚洲国产主播精品极品网红| 99re视频精品全部免费|