<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
    主站蜘蛛池模板: 国产精品另类激情久久久免费 | 在线v片免费观看视频| 亚洲一级免费毛片| 国产午夜免费福利红片| 国产在线播放线91免费| 久久综合亚洲色HEZYO社区| 女人被男人躁的女爽免费视频| 美女视频黄a视频全免费网站色| 久久精品国产亚洲网站| 国产va精品免费观看| 边摸边吃奶边做爽免费视频99 | 亚洲日韩精品无码AV海量| 国产成人高清亚洲| 8x网站免费入口在线观看| 国产亚洲日韩在线a不卡| 亚洲成a人片在线观看中文动漫| 毛片免费全部免费观看| 国产免费福利体检区久久| 亚洲乱码一区av春药高潮| 日本中文一区二区三区亚洲| 精品无码人妻一区二区免费蜜桃| 久久精品国产亚洲AV未满十八| 久久亚洲国产午夜精品理论片| 成年美女黄网站18禁免费| 暖暖免费在线中文日本| 爱情岛论坛亚洲品质自拍视频网站| 午夜亚洲www湿好大| 国产精品久久久久影院免费| 中文字幕在线免费| fc2成年免费共享视频18| 色在线亚洲视频www| 老司机亚洲精品影院| 亚洲人成电影网站国产精品| 毛片免费观看的视频| 91在线手机精品免费观看| eeuss影院www天堂免费| 亚洲av永久无码精品网址| 中文字幕亚洲男人的天堂网络| 久久国产亚洲精品麻豆| 亚洲国产精品成人AV无码久久综合影院| 成人免费一级毛片在线播放视频 |