Spring MVC初探_(1)
12012 ワード
むだ話はもう言わないで、直接コードをかけます。
Spring MVCの第一章として、まずプロジェクトを構築して、Spring MVCが一体何なのかを見てみます。
Spring MVCを深く研究するには、http://jinnianshilongnian.iteye.com/blog/1631021(大波開のSpringMVCがいいです)がオススメです。
依頼のカバン
----------------------------------------------------
*1、 Springフレームjarパッケージ:
簡単にするために、spring-frame ework-3.11.RELEAS-with-docs.zip/dist/下のすべてのjarカバンをプロジェクトのWEB-INF/libディレクトリにコピーします。
*2、 Springフレーム依存jarパッケージ:
Apache commons logingログを追加する必要があります。ここで使っているのはcommons.loging-11.jarです。
jstlタグライブラリのサポートを追加する必要があります。ここで使うのはjstl-1.1.22.jarとstandar-1.1.jarです。
----------------------------------------------------
1、web.xml webプロジェクトの実行時のロードファイル
2、スプリング-mvc-config.xml/{*}-servlet.xml SprigMVC運転時にロードされたプロファイル
以下の構成ファイルは注釈方式で、注釈内容は非注釈方式です。
3、このウェブプロジェクトをtomcatの下に展開し、このプロジェクトを実行する。もし木に問題があれば、以下の内容を継続する。
4、最初のハローワールド(XML配置方式)を書きます。
(1)まずSprigMVCのコントローラを実現する
ハロルドController.java
(2)展示ページ
ハロー.jsp
(3)配置書類を記入する spring-mvc-config.xml
spring-mvc-config.xmlファイルのコメント部分をリリースします。hello Worldをよく知るために、spring-mvc-config.xmlを書き直します。spring-mvc-config.xmlはSpring MVCの配置部分の実現に対してだけ注意してください。欠点を注釈するのは目標コードの埋め込み型に対して強すぎて、二次開発と修正に不利です。
(4)、アクセス運転
このときTomcatを再開し、ブラウザURL入力http://localhost:8080/test-webapp/helloを開く。
内容を正しく表示するには
書き記す
ハローワールド
ハローワールド2
{k 1=v 1,k 2=v 2}
5、注釈方式のデモを書く
(1)コントローラ
HomePageController.java
(2)展示ページ
上4-(2)のハロー.jspです。
(3)配置書類を記入する spring-mvc-config.xml
上2の spring-mvc-config.xml
(4)アクセス運転
Tomcatを再起動し、ブラウザのURL入力を開くhttp://localhost:8080/test-webapp/hello?method=sayHello。
内容を正しく表示するには
書き記す
ハロー、ワールド
Tomcatを再起動し、ブラウザのURL入力を開くhttp://localhost:8080/test-webapp/hello?method=sayHello HomePage。
内容を正しく表示するには
書き記す
spring MVC
----------------------------------------------------------
転送とリダイレクト
redirect/forward:url方式で別のアクションに回して連続的に処理することができます。
redirect:url防止フォームによる重複提出が可能です。 。
書き方は以下の通りです
return「forward:/order/add」
return“redirect:/index.jsp”;
Spring MVCの第一章として、まずプロジェクトを構築して、Spring MVCが一体何なのかを見てみます。
Spring MVCを深く研究するには、http://jinnianshilongnian.iteye.com/blog/1631021(大波開のSpringMVCがいいです)がオススメです。
依頼のカバン
----------------------------------------------------
*1、 Springフレームjarパッケージ:
簡単にするために、spring-frame ework-3.11.RELEAS-with-docs.zip/dist/下のすべてのjarカバンをプロジェクトのWEB-INF/libディレクトリにコピーします。
*2、 Springフレーム依存jarパッケージ:
Apache commons logingログを追加する必要があります。ここで使っているのはcommons.loging-11.jarです。
jstlタグライブラリのサポートを追加する必要があります。ここで使うのはjstl-1.1.22.jarとstandar-1.1.jarです。
----------------------------------------------------
1、web.xml webプロジェクトの実行時のロードファイル
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>test-webapp</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<!-- SpringMVC web , {*} -->
<servlet-name>springServlet</servlet-name>
<!-- SpringMVC ,DispatcherServlet -->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- Spring MVC Spring MVC -->
<!-- , {*}-servlet.xml -->
<param-value>/WEB-INF/spring-mvc-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
2、スプリング-mvc-config.xml/{*}-servlet.xml SprigMVC運転時にロードされたプロファイル
以下の構成ファイルは注釈方式で、注釈内容は非注釈方式です。
<?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:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!--
the application context definition for the springappDispatcherServlet
-->
<!-- -->
<context:annotation-config />
<!-- , base-package="*,*" -->
<context:component-scan base-package="com.test.controller" />
<!-- Spring MVC , POJO -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
<!-- Spring MVC -->
<!-- HandlerMapping
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
-->
<!-- HandlerAdapter
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
-->
<!-- -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/jsp/"/><!-- /jsp/ -->
<property name="suffix" value=".jsp"/>
</bean>
<!-- ( )
<bean name="/hello" class="com.test.controller.HelloWorldController"/>
-->
</beans>
3、このウェブプロジェクトをtomcatの下に展開し、このプロジェクトを実行する。もし木に問題があれば、以下の内容を継続する。
4、最初のハローワールド(XML配置方式)を書きます。
(1)まずSprigMVCのコントローラを実現する
ハロルドController.java
package com.test.controller;
import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
// Controller (Spring Controller )
public class HelloWorldController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
//1、 、
//2、
//3、
//4、
ModelAndView mv = new ModelAndView();
// POJO
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("k1", "v1");
hm.put("k2", "v2");
mv.addObject("message", "Hello World!");
mv.addObject("message2", "Hello World2!");
mv.addObject("map",hm);
// ,
mv.setViewName("hello");
return mv;
}
}
(2)展示ページ
ハロー.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello World</title>
</head>
<body>
${message}
<br/>
${message2}
<br/>
${map}
<br/>
${rants}
</body>
</html>
(3)配置書類を記入する spring-mvc-config.xml
spring-mvc-config.xmlファイルのコメント部分をリリースします。hello Worldをよく知るために、spring-mvc-config.xmlを書き直します。spring-mvc-config.xmlはSpring MVCの配置部分の実現に対してだけ注意してください。欠点を注釈するのは目標コードの埋め込み型に対して強すぎて、二次開発と修正に不利です。
<?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:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- Spring MVC -->
<!-- HandlerMapping -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!-- HandlerAdapter -->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!-- -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- , helloWorldController , /hello ( )-->
<bean name="/hello" class="com.test.controller.HelloWorldController"/>
</beans>
(4)、アクセス運転
このときTomcatを再開し、ブラウザURL入力http://localhost:8080/test-webapp/helloを開く。
内容を正しく表示するには
書き記す
ハローワールド
ハローワールド2
{k 1=v 1,k 2=v 2}
5、注釈方式のデモを書く
(1)コントローラ
HomePageController.java
package com.test.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/hello")
public class HomePageController {
@RequestMapping(params = "method=sayHello")
public String sayHello(Model model) {
model.addAttribute("rants","hello,world");
return "hello";
}
@RequestMapping(params = "method=sayHelloHomePage")
public String sayHelloHomePage(Model model) {
model.addAttribute("rants","spring MVC");
return "hello";
}
}
(2)展示ページ
上4-(2)のハロー.jspです。
(3)配置書類を記入する spring-mvc-config.xml
上2の spring-mvc-config.xml
(4)アクセス運転
Tomcatを再起動し、ブラウザのURL入力を開くhttp://localhost:8080/test-webapp/hello?method=sayHello。
内容を正しく表示するには
書き記す
ハロー、ワールド
Tomcatを再起動し、ブラウザのURL入力を開くhttp://localhost:8080/test-webapp/hello?method=sayHello HomePage。
内容を正しく表示するには
書き記す
spring MVC
----------------------------------------------------------
転送とリダイレクト
redirect/forward:url方式で別のアクションに回して連続的に処理することができます。
redirect:url防止フォームによる重複提出が可能です。 。
書き方は以下の通りです
return「forward:/order/add」
return“redirect:/index.jsp”;