SSM——SpringMVC学习笔记

本文详细介绍了SpringMVC框架的搭建步骤,包括导入jar包、配置springmvc.xml、设置web.xml,以及如何利用@Controller、@RequestMapping等注解进行控制器类的定义。同时,还讲解了参数获取、视图解析、异常处理等关键功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

  1. 所需储备知识点:jsp/servlet、spring、tomcat
  2. springMVC主要功能:在获取参数信息、文件上传、数据校验等方面等简便

springMVC框架搭建

第一步:导入jar包
第二步:书写主配置文件(springmvc.xml)

springmvc.xml
<!-- 包扫描 -->
<context:component-scan base-package="包名"/>
<!-- 配置MVC框架特有的注解驱动 -->
<mvc:annotation-driver/>
web.xml的配置
<!-- 配置核心类:DispatcherServlet -->
<servlet>
	<servlet-name>DispatcherServlet</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatherServlet<servlet-class>
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:springmvc.xml<prarm-value>
	</init-param>
	<!-- 保证项目启动时第一个加载,数字越小越先加载 -->
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>DispatherServlet</servlet-name>
	<url-pattern>*.do</url-pattern>
</servlet-mapping>

第三步:启动tomcat服务器测试

一、springMVC中常用注解

  1. @Controller注解:
    如果一个普通类被此注解修饰,此类的作用类似于Servlet类
  2. @RequestMapping类:
    此注解可以修饰类和方法,用来指定访问的虚拟路径和请求方式等
    @RequestMapping("/login.do",method=RequestMethod.POST)
    public void login(User user){
    	System.out.println(user);
    }
    
    @RequestMapping(value={"/login.do","login2.do"}){
    public void add(){
    	system.out.println("add......")
    }
    
  3. @Scope类:
    指定spring创建对象时以单例或多例的方式创建
  4. @AutoWired类:
  5. @Param类:

二、springMVC获取参数信息

需要什么参数,就在形参位置给什么参数

@RequestMapping("/login.do",method=RequestMethod.POST)
public void login(User user){
System.out.println(user);
}

@RequestMapping(value={"/login.do","login2.do"}){
public void add(HttpServletRequest request, HttpServletRespinse response, HttpSession session){
system.out.println("add......")
}

三、重定向和转发

  1. servlet的传统方式
    //转发
    request.getRequestDispatcher("").forward(request, response);
    
    //重定向
    response.sendRedirect("");
    
  2. springMVC的独特方式:当函数的返回值为字符串时就是重定向或转发
    @RequestMapping("/test1")
    public String text1(){
    	//转发
    	return "/index.jsp";
    	//重定向
    	return "redirect:/index.jsp";
    
处理json格式
@RequestMapping()
@ResponseBody //该注解可以将map、list返回值变成json
public Map<String, Object> test2(){
	Map<String, Object> hm = new HashMap<String, Object>;
	hm.put("id",1L);
	hm.put("username","王二麻子");
	return hm;
}
返回普通字符串
@RequestMapping()
@ResponseBody
public String test3(){
	return "hello";
}

四、视图解析器

视图解析器对转发有效,对重定向无效
springmvc.xml配置

<!-- 配置视图解析器 -->
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<!-- 配置前缀 -->
	<property name="prefix" value="/pages/front/"></property>
	<!-- 配置后缀 -->
	<property name="suffix" value=".jsp"></property>
</bean>

使用

@RequestMapping("/login")
public String login(String username,String password){
	if("admin".equals(username) && "123".equals(password)){
		return "main"; //相当于“/pages/front/main.jsp”
	}
	return "fail";
}

五、中文乱码问题

此方法只针对post请求

web.xml配置

<!-- 配置中文乱码的过滤器 -->
<filter>
	<filter-name>characterEncodingFilter</filter-name>
	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
	<init-param>
		<param-name>encoding</param-name>
		<param-value>UTF-8</param-value>
	</init-param>
</filter>
<filter-mapping>
	<filter-name>characterEncodingFilter</filter-name>
 	<url-pattern>/*</url-pattern>
</filter-mapping>

六、统一异常处理

@ExceptionHandler(Exception.class) //该方式只能处理本类中的异常
public String exceptionHander(){
	return "jsp文件";
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值