Três implementações e anotações completas do controlador de processo de negócios springmvc

Primeiro, implemente a interface do controlador

public class HelloContronller implements Controller{

	@Override
	public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
		System.out.println("spring入门!");
		ModelAndView m=new ModelAndView();//这个对象用来保存数据和数据 ,方便传输
		m.addObject("name", "小美");//设置响应的数据name  req.setAttribute()
		m.addObject("age", "20");
		m.setViewName("/WEB-INF/hello.jsp");////设置响应视图的路径     WEB-INF下的资源不能直接访问,必须通过转发
		return m;
	}

}

Segundo, implemente a interface HttpRequestHandler

public class HiController implements HttpRequestHandler{

	@Override
	public void handleRequest(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("实现HttpRequestHandler...");
		req.setAttribute("name", "华仔");
		req.setAttribute("age", 18);
		//转发 -- 因为要访问WEB-INF的资源     共享request作用域的数据
		req.getRequestDispatcher("/WEB-INF/hello.jsp").forward(req, resp);
	}

}

3. Anotações para classes comuns [comumente usado como mestre]

  • Introduzir:

Os dois acima são muito limitados.O
nome do método é fixo.O
parâmetro é fixo.O
valor de retorno é fixo.

  • Escrita:

    Escreva uma classe
    Para adicionar uma anotação @Controller a essa classe, a
    premissa de usar esta anotação:

<!-- 扫描包路径:上下文组件扫描 ,Spring容器会去扫描cn.itsource这个包及其子包中所有的类,
	如果发现类上有类似@Controller这样注解,就会创建该类的对象,并进行管理-->
	<context:component-scan base-package="cn.itsource"></context:component-scan>

A correspondência de solicitação não precisa de <bean configuration>, você deve usar a anotação @RequestMapping.Esta
anotação usa a premissa:

<mvc:annotation-driven></mvc:annotation-driven>

Configure uma vez, use para sempre

Nota completa:

  • Anotações que correspondem aos parâmetros de solicitação

    Anteriormente usado <bean id="/hello" class="类的全限定名">`
    Agora use RequestMapping (" / hello "),
    mas precisa ir para spring-mvc.xml para ativar o suporte de primavera ao mvc. Esta anotação entra em vigor

<!--开启spring对mvc的支持该注解才生效-->
<mvc:annotation-driven></mvc:annotation-driven>
  • Anotações de objetos instanciados (eles só podem ser colocados na classe. A premissa é configurar no spring-mvc.xml, varrer a configuração do caminho do pacote: <context: component-scan base-package = "cn.itsource"> </ context: scan de componentes>)
    Usado na camada Controller da camada de controle: @Controller usado
    na camada Service: @Service usado
    na camada Dao: @Repository
    Se você não precisar instanciar o objeto nesses casos, use a anotação geral: @Component 这
    四Esta nota pode ser usada de forma intercambiável, mas não é recomendada, é melhor usá-la de acordo com o nível.
  • Anotação de injeção O
    método anterior <property name="name" value="牛牛"></property>
    agora é anotado: @Autowired (correspondido de acordo com o tipo), @Resource (correspondência padrão de nome Anzhao, correspondente ao nome da classe alta), usada em campos e métodos de configuração, geralmente colocados no campo Acima.

Observe que agora todas as anotações podem ser usadas com anotações e só usam a configuração xml ao usar classes escritas por outras pessoas.

Publicado 23 artigos originais · Gosto1 · Visitas 171

Acho que você gosta

Origin blog.csdn.net/weixin_45528650/article/details/105442280
Recomendado
Clasificación