sping mvc

来源:互联网 发布:网络虚拟机 编辑:程序博客网 时间:2024/04/25 16:22

一、     所需jar

spring-2.5.6.jarspring-webmvc.jarcommons-logging.jarcommons-lang.jarcglib-nodep-2.1_3.jar

二、     Web.Xml

 <?xmlversion="1.0"encoding="UTF-8"?>

<web-appversion="2.5"

  xmlns="http://java.sun.com/xml/ns/javaee"

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

 

  <!-- Spring MVC配置 -->

  <!-- ====================================== -->

  <servlet>

      <servlet-name>spring</servlet-name>

      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

      <!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml    -->

      <init-param>

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

          <param-value>/WEB-INF/spring-servlet.xml</param-value>

      </init-param>

      <load-on-startup>1</load-on-startup>

  </servlet>

 

  <servlet-mapping>

      <servlet-name>spring</servlet-name>

      <url-pattern>*.action</url-pattern>

  </servlet-mapping>

   

  <!-- Spring配置 -->

  <listener>

      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

  </listener>

   

 

  <!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 -->

  <context-param>

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

      <param-value>classpath:config/applicationContext.xml</param-value>

  </context-param>   

 

 

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

 

三、     spring-servlet.xml

 <?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="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/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd  

      http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsd  

      http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsd  

      http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd">

 

  <!-- 启用spring mvc注解 -->

  <context:annotation-config/>

 

  <!-- 设置使用注解的类所在的jar -->

  <context:component-scanbase-package="*"></context:component-scan>

 

  <!-- 完成请求和注解POJO的映射 -->

  <beanclass="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

 

  <!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->

  <beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"p:prefix="/jsp/"p:suffix=".jsp"/>

</beans>

四、     applicationContext.xml

 <?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="http://www.springframework.org/schema/beans"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xmlns:aop="http://www.springframework.org/schema/aop"

        xmlns:tx="http://www.springframework.org/schema/tx"

        xsi:schemaLocation="

            http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd

            http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.5.xsd

            http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

</beans>

五、     TestController.Java

 package controller;

 

importjavax.servlet.http.HttpServletRequest;

importorg.springframework.stereotype.Controller;

importorg.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

importorg.springframework.web.servlet.ModelAndView;

 

@Controller  //类似StrutsAction

@RequestMapping("/login.action")

public class TestController {

 

  @RequestMapping(params = "method=login")   // 请求url地址映射,类似Strutsaction-mapping

  public String testLogin(@RequestParam(value="username")String username, String password, HttpServletRequest request) {

      // @RequestParam是指请求url地址映射中必须含有的参数(除非属性required=false)

      // @RequestParam可简写为:@RequestParam("username")

      String usernameString= request.getParameter("username");

      if (!"admin".equals(username) || !"admin".equals(password)) {

          return"loginError";// 跳转页面路径(默认为转发),该路径不需要包含spring-servlet配置文件中配置的前缀和后缀

      }

      return "loginSuccess";

  }

 

  @RequestMapping(params = "method=login2")

  public ModelAndViewtestLogin2(String username, String password,int age){

      // requestresponse不必非要出现在方法中,如果用不上的话可以去掉

      // 参数的名称是与页面控件的name相匹配,参数类型会自动被转换

      if (!"admin".equals(username) || !"admin".equals(password) || age < 5) {

          return new ModelAndView("index.jsp");//手动实例化ModelAndView完成跳转页面(转发),效果等同于上面的方法返回字符串

      }

//        return newModelAndView(new RedirectView("index.jsp"));  //采用重定向方式跳转页面

      // 重定向还有一种简单写法

       return new ModelAndView("redirect:index.jsp");

  }

 

}

六、     JSP

WebRoot/jsp/loginError.jsp: loginError. <br>

WebRoot/jsp/loginSuccess.jsp: loginSuccss. <br>

WebRoot/index.jsp : This is my JSP page. <br>

七、     运行

http://localhost:2000/SpringMVC/login.action?method=login&username=admin&password=admin

页面显示:loginSuccss.
原创粉丝点击