Java从入门到放弃-学习笔记-springmvc - Go语言中文社区

Java从入门到放弃-学习笔记-springmvc


个人博客 https://raptor1998.top/

概述

springmvc是spring的亲儿子,属于web层框架,提供了MVC(模型 - 视图 - 控制器)架构和用于开发灵活和松散耦合的Web应用程序的组件。

springmvc简介

核心架构

springmvc和新架构么,这图画废了

  1. 浏览器发送请求到前端控制器。
  2. 前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制。处理器映射器HandlerMapping向前端控制器返回Handler,HandlerMapping会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象,多个HandlerInterceptor拦截器对象)。
  3. 前端控制器调用处理器适配器去执行Handler。
  4. 处理器适配器HandlerAdapter将会根据适配的结果去执行Handler。调用处理器相应功能处理方法,并返回一个ModelAndView对象。
  5. 视图解析器将把逻辑视图名解析为具体的View。
  6. View会根据传进来的Model模型数据进行渲染。
  7. 前端控制器向用户响应结果

参考链接

Springmvc框架理解
Springmvc实现原理与详解
Springmvc简介

Springmvc实现班级学生信息管理

目录

工程目录

配置文件

spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="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/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">

	<!-- 使用扫描注解的包,包括子集 -->
    <context:component-scan base-package="controller"/>

    <!-- 视图解析器 -->
    <!--将视图逻辑 名解析为: /WEB-INF/jsp/<viewName>.jsp -->
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp"></property>
	</bean>

</beans>

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>*.do</url-pattern>
	</filter-mapping>


	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-mvc.xml</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>

controller

BjController

@Controller
@RequestMapping("/bj")
public class BjController {
	BjDao bjDao = new BjDao();

	@RequestMapping("/list")
	public String list(Model model) {

		try {
			List<Bj> bjList = bjDao.queryAll();
			model.addAttribute("bjList", bjList);
			return "bj/list";
		} catch (Exception e) {
			e.printStackTrace();
			return "error";
		}
	}

	@RequestMapping("/preadd")
	public String preadd() {
		return "bj/add";
	}

	@RequestMapping("/add")
	public String add(Bj bj, Model model) {

		try {
			bjDao.add(bj);
			model.addAttribute("info", "添加成功");
			return "bj/add";
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "error";
		}
	}

	@RequestMapping("/edit")
	public String edit(int id, Model model) {

		try {
			Bj bj = bjDao.findBjById(id);
			model.addAttribute("bj", bj);
			return "bj/edit";
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "error";
		}
	}

	@RequestMapping("/update")
	public String update(Bj bj, Model model) {

		try {
			bjDao.update(bj);
			model.addAttribute("info", "修改成功");
			return "bj/edit";
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "error";
		}
	}

	@RequestMapping("/delete/{id}")
	public String delete(@PathVariable(value = "id") int id, Model model, HttpServletResponse response) {
		response.setContentType("text/html;charset=UTF-8");
		try {
			PrintWriter out = response.getWriter();
			if (bjDao.kongbj(id) != 0) {
				out.print("该班级还有学生,不能删除");
				return null;
			} else {
				bjDao.delete(id);
				return "redirect:/bj/list.do";
			}

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "error";
		}
	}
	
}

StudentController

@Controller
@RequestMapping("/student")
public class StudentController {
	StudentDao studentDao = new StudentDao();
	BjDao bjDao = new BjDao();

	@RequestMapping("/list")
	public String list(Model model) {
		try {
			List<Student> studentList = studentDao.queryAll();
			model.addAttribute("studentList", studentList);
			return "student/list";
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "error";
		}
	}

	@RequestMapping("/preadd")
	public String preadd(Model model) {
		try {
			List<Bj> bjList=bjDao.queryAll();
			model.addAttribute("bjList", bjList);
			return "student/add";
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "error";
		}
		
	}

	@RequestMapping("/add")
	public String add(Model model, Student student, int bjid) {
		try {
			// System.out.println(student.getSname());
			// System.out.println(bjid);
			student.setBj(new Bj(bjid));
			studentDao.add(student);
			model.addAttribute("info", "添加成功");
			return this.preadd(model);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "error";
		}
	}

	@RequestMapping("/edit")
	public String edit(int id, Model model) {
		try {
			Student student = studentDao.findStudentById(id);
			model.addAttribute("student", student);
			List<Bj> bjList=bjDao.queryAll();
			model.addAttribute("bjList", bjList);
			return "student/edit";
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "error";
		}
	}

	@RequestMapping("/update")
	public String update(int id, String sno, String sname, String sex, int bjid, Model model) {

		try {
			Student student = new Student();
			student.setId(id);
			student.setSno(sno);
			student.setSname(sname);
			student.setSex(sex);
			student.setBj(new Bj(bjid));
			studentDao.update(student);
			model.addAttribute("info", "修改成功");
			return this.edit(id, model);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "error";
		}
	}

	@RequestMapping("/delete")
	public String delete(int id) {

		try {
			studentDao.delete(id);
			return "redirect:/student/list.do";
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "error";
		}
	}
}

github地址

https://github.com/Raptor1998/JavaEE

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/C18854805113/article/details/103929152
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 17:43:16
  • 阅读 ( 1518 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢