Springmvc之配置

在web.xml中配置前端控制器

<!--配置前端控制器-->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--contextConfigLocation配置springmvc加载的配置文件(配置处理器映射器,适配器等等)
    如果不配置contextConfigLocation 默认加载的是/WEB-INF/servlet名称-servlrt.xml(springmvc-servlet.xml)-->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <!--
    第一种:*.action 访问以.action结尾由DispatcherServlet进行解析
    第二种:/,所有访问的地址都由DispatcherServlet进行解析
    对于静态文件的配置不让DispatcherServlet进行解析,使用此种方式可实现Restful配置
    第三种:/*,这样配置不对,使用这种配置最终要转发到一个jsp页面,
    仍然会由DispatcherServlet进行解析,不能根据jsp页面找到Handler,报错。
    -->
    <url-pattern>/</url-pattern>
  </servlet-mapping>

在springmvc.xml中需要配置 处理器映射器,处理器适配器,视图解析器

//非注解配置
<!--springmvc-->
	<!--配置Handler 为了在spring中加载-->
	<bean id="ItemsController" name="/queryItems.action" class="com.evergrande.hdtms.web.ItemsController"></bean>
	<!--非注解处理器映射器-->
	<!--将Bean的name作为URL进行查找,需要在配置Handler时就指定BeanName(也就是URL)-->
	<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
	<!--简单URL映射-->
	<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="mappings">
			<props>
				<!--key中填写url 标签之间填写controller的id-->
				<prop key="/items1.action">ItemsController</prop>
				<prop key="/items2.action">ItemsController</prop>
			</props>
		</property>
	</bean>

	<!--多个映射器可以并存,前端控制器判断URL能让
	哪些映射器映射,就让正确的映射器处理-->

<!--非注解处理器适配器
	所有的处理器适配器都实现了HandlerAdapter接口,通过查看源代码发现-->
	<!--SimpleControllerHandlerAdapter能够执行实现Controller接口的Handler
    而Controller接口中就是要实现一个方法,根据request和response返回ModelAndView-->
	<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
     <!--要求Handler实现HttpRequest接口-->
	<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>

//实现httprequestHandler接口
@Override
    public void handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
        List<Integer> list = new ArrayList();
        //设置模型数据
        httpServletRequest.setAttribute("list",list);
        //设置转发的视图
        httpServletRequest.getRequestDispatcher("itemslist.jsp").forward(httpServletRequest,httpServletResponse);
        //使用此方法可以通过修改response,设置响应的数据格式,比如响应json数据格式
        httpServletResponse.setCharacterEncoding("utf-8");
        httpServletResponse.setContentType("application/json;charset=utf-8");
        httpServletResponse.getWriter().write("json串");

    }
//    实现Controller接口
//    @Override
//    public ModelAndView handleRequest(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws Exception {
//        //调用service查询数据库,查询商品列表假设是list
//        List<Integer> list = new ArrayList();
//        //返回ModelAndView
//        ModelAndView modelAndView = new ModelAndView();
//        modelAndView.addObject("list",list);
//        //指定视图
//        modelAndView.setViewName("sucsess");
//
//        return modelAndView;
    }
//注解配置
<!--在spring3.1之前使用org.springframework.web.servlet.mvc.
	    DefaultAnnotationHandlerMapping注解的处理器映射器
	    在spring3.1之后使用org.springframework.web.servlet.mvc.
	    method.annotation.RequestMappingHandlerMapping注解处理器映射器
	    在spring3.1之前使用org.springframework.web.servlet.mvc.
	    annotation.AnnotationMethodHandlerAdapter注解适配器
         在spring3.1之后使用org.springframework.web.servlet.mvc.
         RequestMappingHandlerAdapter注解适配器
	-->

	<!--注解映射器-->
	<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>

	<!--注解适配器-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

	<!--使用mvc:annotation-driven可以代替注解映射器和适配器的配置
	这个标签还默认加载了很多的参数绑定方法,例如json转换解析器
	实际开发使用此种方法-->
	<mvc:annotation-driven></mvc:annotation-driven>
    <!--对于注解的Handler可以单个配置也可以组件扫描-->
	<!--<bean name="AnnotationController" class="com.evergrande.hdtms.web.AnnotationController"/>-->
	//或者
	<context:component-scan base-package="com.evergrande.hdtms.web"/>
	<!--注意 注解的映射器和适配器必须配对使用-->
	<!--视图解析器
	配置解析jsp的视图,解析jsp,默认使用jstl标签-->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!--视图解析器配置前缀和后缀-->
		<property name="prefix" value="/WEB-INF/jsp"/>
		<property name="suffix" value=".jsp"/>
	</bean>


//注解开发Handler
//Controller标识它是一个控制器
@Controller
public class AnnotationController {

    //商品查询列表
    //@RequestMapping实现对/queryItems和queryitem方法进行映射一个方法对应一个URL
    //建议URL和方法名一样
    @RequestMapping("/queryItems")
    public ModelAndView queryitems()throws Exception{
        List<Integer> list = new ArrayList();
        //返回ModelAndView
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("list",list);
        //指定视图
        modelAndView.setViewName("sucsess");

        return modelAndView;
    }

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringMVC是一种基于Java的Web框架,它可以帮助我们快速地开发Web应用程序。下面是SpringMVC配置步骤: 1. 配置DispatcherServlet 在web.xml文件中配置DispatcherServlet,它是SpringMVC的核心组件,负责处理所有的请求和响应。以下是一个示例配置: ```xml <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> ``` 2. 配置SpringMVC上下文 在上面的配置中,我们指定了SpringMVC上下文的位置为/WEB-INF/springmvc-servlet.xml。在这个文件中,我们可以配置SpringMVC的各种组件,例如控制器、视图解析器、拦截器等等。以下是一个示例配置: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- 配置控制器 --> <bean class="com.example.MyController"/> <!-- 配置视图解析器 --> <bean

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值