博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring MVC入门小例子
阅读量:5235 次
发布时间:2019-06-14

本文共 3994 字,大约阅读时间需要 13 分钟。

web.xml里的配置如下: 

Xml代码  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="3.0"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  
  7.   <display-name></display-name>   
  8.     
  9.     
  10.   <servlet>    
  11.   <!-- 第一个首先调用的前端控制器,注意与WEB-INFO下servlet的xml相对应 -->  
  12.     <servlet-name>chapter2</servlet-name>    
  13.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    
  14.     <load-on-startup>1</load-on-startup>    
  15. </servlet>    
  16. <servlet-mapping>    
  17.     <servlet-name>chapter2</servlet-name>    
  18.     <url-pattern>/</url-pattern>    
  19. </servlet-mapping>   
  20.   
  21. <servlet>    
  22.     <servlet-name>forwarding</servlet-name>    
  23.     <servlet-class>com.qin.sanxian.ForwardServlet</servlet-class>    
  24. </servlet>    
  25. <!-- 处理post提交的乱码解决 -->  
  26. <filter>    
  27.     <filter-name>CharacterEncodingFilter</filter-name>    
  28.     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>    
  29.     <init-param>    
  30.         <param-name>encoding</param-name>    
  31.         <param-value>utf-8</param-value>    
  32.     </init-param>    
  33. </filter>    
  34. <filter-mapping>    
  35.     <filter-name>CharacterEncodingFilter</filter-name>    
  36.     <url-pattern>/*</url-pattern>    
  37. </filter-mapping>   
  38.   <welcome-file-list>  
  39.     <welcome-file>index.jsp</welcome-file>  
  40.   </welcome-file-list>  
  41. </web-app>  

chapter2-servlet.xml里面的配置如下: 

Xml代码  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://www.springframework.org/schema/beans  
  5.         http://www.springframework.org/schema/beans/spring-beans.xsd">  
  6.   
  7.   
  8.     <!-- 第二步调用  HandlerMapping -->  
  9.     <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>  
  10.       
  11.     <!--第三步调用  HandlerAdapter -->  
  12.     <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>  
  13.       
  14.     <!-- 第六步调用    ViewResolver -->  
  15.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  16.         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>  
  17.         <property name="prefix" value="/WEB-INF/jsp/"/>  
  18.         <property name="suffix" value=".jsp"/>  
  19.     </bean>  
  20.         <!-- 第七步调用   到/web-info下面映射到hello.jsp,进而渲染页面 -->  
  21.     <!-- 处理器   -->  
  22.     <bean name="/hello" class="com.qin.sanxian.HelloWorldController">  
  23.     <!-- 仅支持post提交提交表单的支持 <property name="supportedMethods" value="POST"></property>-->  
  24.       
  25.     </bean>  
  26.     <bean name="/forward"     
  27. class="org.springframework.web.servlet.mvc.ServletForwardingController">    
  28.         <property name="servletName" value="forwarding"></property>    
  29. </bean>    
  30.   
  31.   
  32. <bean name="/abstractCommand"     
  33. class="com.qin.sanxian.MyCommandController">    
  34.   
  35.   
  36.         <!-- 也可以通过依赖注入 注入命令实现类 -->    
  37.         <!-- property name="commandClass" value="cn.javass.chapter4.model.UserModel"/-->    
  38. </bean>    
  39. <!--  表单的控制器 -->  
  40. <bean name="/simpleForm" class="com.register.ReginsterController">  
  41. <property name="formView" value="register"></property>  
  42. <property name="successView" value="redirect:/success"></property>  
  43. </bean>  
  44.   
  45. <!-- 处理成功的页面 -->  
  46.   
  47. <bean name="/success" class="com.qin.sanxian.SuccessController"></bean>  
  48.   
  49.   
  50. <bean name="/mutilRegister" class="com.mutilregister.MultiRegisterController">  
  51.   
  52. <property name="pages">  
  53. <list>  
  54. <value>wizard/baseinfo</value>   
  55. <value>wizard/schoolinfo</value>   
  56. <value>wizard/workinfo</value>   
  57. </list>  
  58.   
  59. </property>  
  60.   
  61. </bean>  
  62. </beans>  

控制器demo 

Java代码  
  1. package com.qin.sanxian;  
  2.   
  3. import javax.servlet.http.HttpServletRequest;  
  4. import javax.servlet.http.HttpServletResponse;  
  5.   
  6. import org.springframework.web.servlet.ModelAndView;  
  7. import org.springframework.web.servlet.mvc.Controller;  
  8.   
  9. /** 
  10.  *  
  11.  *hellowrod控制器 
  12.  * **/  
  13. public class HelloWorldController implements Controller {  
  14.   
  15.       
  16.       
  17.       
  18.     @Override  
  19.     public ModelAndView handleRequest(HttpServletRequest arg0,  
  20.             HttpServletResponse arg1) throws Exception {  
  21.            
  22.         //1,收集参数,验证参数  
  23.         //2,绑定参数到命令对象  
  24.         //3,将命令对象传入业务对象进行业务处理  
  25.         //4,选择下一个页面  
  26.         //ModelAndView mv=new ModelAndView();  
  27.         //添加模型数据,可以是任意的POJO对象  
  28.         //mv.addObject("message", "Hellow Wordld!");  
  29.         //设置逻辑视图名,视图解析器,会根据此名字,解析到对应的视图页面  
  30.         /** 
  31.          *  
  32.          * 第五步返回 根据此名字 
  33.          * */  
  34.         //mv.setViewName("hello");  
  35.         arg1.getWriter().write("abc");  
  36.         return null;  
  37.     }  
  38.   
  39. }  

项目的目录结构如下截图: 
 

转载于:https://www.cnblogs.com/littleCode/p/3988499.html

你可能感兴趣的文章
Android 博客园客户端 (七)登录功能
查看>>
PHP动态页面 生产静态页 方法二
查看>>
Java大数——a^b + b^a
查看>>
zcmu 1041
查看>>
POJ-2533 Longest Ordered Subsequence ( DP )
查看>>
poj 3164 最小树形图(朱刘算法)
查看>>
百度贴吧图片抓取工具
查看>>
服务器内存泄露 , 重启后恢复问题解决方案
查看>>
第二阶段冲刺(2)
查看>>
ajax post 传参
查看>>
2.1命令行和JSON的配置「深入浅出ASP.NET Core系列」
查看>>
[转]Debug 和 Release 编译方式的区别
查看>>
android一些细节问题
查看>>
实验四
查看>>
oracle 建表--序列--插入值
查看>>
KDESVN中commit时出现containing working copy admin area is missing错误提示
查看>>
利用AOP写2PC框架(二)
查看>>
[转载]Trie树|字典树(字符串排序)
查看>>
Git学习系列 (一)
查看>>
【原】移动web页面使用字体的思考
查看>>