沉睡森林@漂在北京

          本處文章除注明“轉(zhuǎn)載”外均為原創(chuàng),轉(zhuǎn)載請注明出處。

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

          Spring2.5MVC應(yīng)用實(shí)例

           

          首先在web.xml中配置spring相關(guān)servletlistener

                 <!--  Spring 服務(wù)層的配置文件 -->

              <context-param>

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

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

              </context-param>

              

              <!--  Spring 容器啟動監(jiān)聽器 -->

              <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配置文件,分別對應(yīng)的代碼如下:

          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節(jié)點(diǎn)既可。

           

          實(shí)例的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提交的參數(shù)對應(yīng)到javabean上,這里使用了一個ICustomerService的注入操作,還有一些javabean,可以直接去掉,保留一個最簡單的版本進(jìn)行測試。

           

          posted on 2008-12-22 13:40 王總兵 閱讀(2260) 評論(0)  編輯  收藏 所屬分類: Spring
          主站蜘蛛池模板: 茶陵县| 沾化县| 西畴县| 华池县| 泾阳县| 涞源县| 河南省| 阜南县| 昭通市| 石嘴山市| 蒙城县| 宜春市| 博白县| 独山县| 平南县| 雷州市| 丰城市| 鄂尔多斯市| 沙河市| 庄浪县| 许昌市| 南昌市| 怀安县| 若尔盖县| 南宁市| 苏尼特左旗| 门头沟区| 蕉岭县| 河北区| 四平市| 阆中市| 房山区| 扎鲁特旗| 大竹县| 平凉市| 隆化县| 威宁| 白城市| 虹口区| 封丘县| 莱阳市|