spring注解controller示例
生活随笔
收集整理的這篇文章主要介紹了
spring注解controller示例
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
依賴庫 spring 3.0
配置web.xml文件如下:
<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"><display-name>mywork</display-name><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><servlet><servlet-name>mywork</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class></servlet><servlet-mapping><servlet-name>mywork</servlet-name><url-pattern>/</url-pattern></servlet-mapping><error-page><error-code>404</error-code><location>/404.jsp</location></error-page> </web-app>1,mywork-servlet.xml使用傳統(tǒng)Bean方式指定控制器方式如下(配置HandlerMapping與HandlerAdapter,需要指定路由map)
<?xml version="1.0" encoding="UTF-8"?> <!-- Bean頭部 --> <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:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"><!-- HandlerMapping --><bean class ="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" /><!-- HandlerAdapter --><bean class ="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /><!-- ViewResolver --><bean class ="org.springframework.web.servlet.view.InternalResourceViewResolver" ><property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean><!-- curl http://127.0.0.1:8080/mywork/demo.php --><bean name="/demo.php" class="com.ciaos.demo.DemoController"/> </beans>controller中需要集成Controller類,并實現(xiàn)handleRequest接口
package com.ciaos.demo;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; public class DemoController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {//1、收集參數(shù)、驗證參數(shù)//2、綁定參數(shù)到命令對象//3、將命令對象傳入業(yè)務(wù)對象進行業(yè)務(wù)處理//4、選擇下一個頁面ModelAndView mv = new ModelAndView();//添加模型數(shù)據(jù) 可以是任意的POJO對象mv.addObject("message", "Hello World!");//設(shè)置邏輯視圖名,視圖解析器會根據(jù)該名字解析到具體的視圖頁面mv.setViewName("hello"); // jsp/hello.jspreturn mv;} }2,mywork-servlet.xm使用注解方式如下
<?xml version="1.0" encoding="UTF-8"?> <!-- Bean頭部 --> <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:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"><context:component-scan base-package="com.ciaos"/><mvc:annotation-driven /> <mvc:resources mapping="/js/**" location="/WEB-INF/resource/js/"/><mvc:resources mapping="/css/**" location="/WEB-INF/resource/css/"/><!-- http://127.0.0.1:8080/mywork/css/test.css --><!-- ViewResolver --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean> </beans>實現(xiàn)controller,指定路由
package com.ciaos.demo;import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping;@Controller public class DemoController {@RequestMapping("/demo.index") public String index(Model model){model.addAttribute("message", "hello world");return "hello";} }jsp/hello.jsp代碼如下:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><base href="<%=basePath%>"><title>My JSP 'hello.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body>${message}</body> </html>?想要更簡單快速搭建spring-mvc項目可以用spring-boot微框架,參考
http://www.infoq.com/cn/articles/microframeworks1-spring-boot
http://projects.spring.io/spring-boot/
轉(zhuǎn)載于:https://www.cnblogs.com/ciaos/p/4115201.html
總結(jié)
以上是生活随笔為你收集整理的spring注解controller示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上路前的料理
- 下一篇: Introduction of Open