一.springmvc第一次课(基本配置)
<!--springmvc所需要的依赖-->
<!--springmvc的核心依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
<!--servlet依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!--创建一个springmvc配置文件springmvc.xml-->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
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">
<!--配置springmvc的注解扫描-->
<context:component-scan base-package="com.sw.controller"></context:component-scan>
<!--配置springmvc的视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--配置视图解析的前缀-->
<property name="prefix" value="/"></property>
<!--配置视图解析的后缀-->
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
<!--在web.xml文件当中进行配置-->
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<!--配置springMvc的核心Servlet-->
<servlet>
<servlet-name>springmvc</servlet-name>
<!--DispatcherServlet 负责springMvc框架中接收到的请求的任务指派-->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--创建Servlet的同时加载springmvc的配置文件-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
</web-app>
<!--最后再创建一个controller类进行测试-->
package com.sw.controller;
import com.sw.model.Users;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
@Controller
public class TestController {//创建springMvc的控制器 处理web请求 类似struts2中的Action
//测试方法 RequestMapping:请求映射 提供该方法的外部请求路径
@RequestMapping("/test")
public String test(){//处理不同请求的方法 类似struts2中的Action中的方法
System.out.println("请求ok");
return "success";//通过success跳转到success.jsp
}
//添加的方法
@RequestMapping("add")
public String add(String uname,String upwd){
System.out.println(uname+"\t"+upwd);
System.out.println("添加请求ok");
return null;
}
//实体类收集数据的方式
@RequestMapping("addUsers")
public String addUsers(Users users){
System.out.println(users);
return null;
}
//将数据发送给视图显示
@RequestMapping("show")
public String show(HttpServletRequest request){//获取请求作用域
request.setAttribute("users",new Users("admin","123"));
return "success";
}
}
如果能够进入则表示配置成功
实体类model
package com.hlp.model;
public class Student {
private Integer sid;
private String sname;
private String sex;
private Integer age;
public void setSname(String sname) {
this.sname = sname;
}
public Integer getSid() {
return sid;
}
public void setSid(Integer sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getSex() {
return sex;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getAge() {
return age;
}
public Student(String sname, String sex, Integer age) {
this.sname = sname;
this.sex = sex;
this.age = age;
}
public Student() {
}
@Override
public String toString() {
return "Student{" +
"sid=" + sid +
", sname='" + sname + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
'}';
}
}
mapper
package com.hlp.mapper;
import com.hlp.model.Student;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
public interface StudentMapper {
//查询所有
@Select("select * from student")
public List<Student> selectAllStudent();
//添加
@Insert("insert into student values(null,#{sname},#{sex},#{age})")
public void addStudent(Student student);
//根据id查询
@Select("select * from student where sid=#{sid}")
public Student selectStudentById(int sid);
//删除
@Delete("delete from student where sid=#{sid}")
public void deleteStudent(Student student);
//修改
@Update("update student set sname=#{sname},sex=#{sex},age=#{age} where sid=#{sid}")
public void updateStudent(Student student);
}
controller
package com.hlp.controller;
import com.hlp.mapper.StudentMapper;
import com.hlp.model.Student;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.omg.PortableInterceptor.SUCCESSFUL;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@Controller
public class TestController {//相当于struts当中的action
private SqlSession session;
@RequestMapping("/test")
public String test(){
System.out.println("请求可以了");
return "success";
}
public void before(){
SqlSessionFactory factory= new SqlSessionFactoryBuilder().build(getClass().getClassLoader().getResourceAsStream("Mybatis-config.xml"));
session=factory.openSession();
}
public void after(){
session.commit();
session.close();
}
//查询所有
@RequestMapping("/selectAllStudent")
public String selectAllStudent(HttpServletRequest request){
before();
StudentMapper mapper=session.getMapper(StudentMapper.class);
List<Student> list=mapper.selectAllStudent();
request.setAttribute("list",list);
after();
return "index";
}
//添加
@RequestMapping("addStudent")
public String addStudent(Student student){
before();
StudentMapper mapper=session.getMapper(StudentMapper.class);
mapper.addStudent(student);
System.out.println(student);
after();
return "redirect:/selectAllStudent.action";
}
//删除
@RequestMapping("deleteStudent")
public String deletStudent(Student student){
before();
StudentMapper mapper=session.getMapper(StudentMapper.class);
mapper.deleteStudent(student);
after();
return "redirect:/selectAllStudent.action";
}
//根据id查询
@RequestMapping("selectStudentById")
public String selectStudentById(int sid,HttpServletRequest request){
before();
StudentMapper mapper=session.getMapper(StudentMapper.class);
Student student= mapper.selectStudentById(sid);
request.setAttribute("student",student);
after();
return "update";
}
//修改
@RequestMapping("updateStudent")
public String updateStudent(Student student){
before();
StudentMapper mapper=session.getMapper(StudentMapper.class);
mapper.updateStudent(student);
after();
return "redirect:/selectAllStudent.action";
}
}
//页面中的内容自行(我是用的是jstl获取数据的)
//jstl依赖两个缺一不可
<!--jstl表达式-->
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/taglibs/standard -->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>