SpringMVC的简单总结

简单配置SpringMVC4

1 导包

 

2 配置”web.xml”,默认配置在”WEB-INF”目录下:

<servlet>

    <servlet-name>springMVC</servlet-name>

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

  </servlet>

  <servlet-mapping>

    <servlet-name>springMVC</servlet-name>

    <url-pattern>*.html</url-pattern>

  </servlet-mapping>

通过配置web.xml文件的”init-param”标签,可以将*-servlet.xml文件放在src目录下面:

<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*:/springMVC-servlet.xml</param-value>

    </init-param>

  </servlet>

  <servlet-mapping>

    <servlet-name>springMVC</servlet-name>

    <url-pattern>*.html</url-pattern>

  </servlet-mapping>

注意:这样配置的话springMVC-servlet.xml的名称将可以自己指定,例如ghySpring.xml:

<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*:/ghySpring.xml</param-value>

    </init-param>

  </servlet>

  <servlet-mapping>

    <servlet-name>springMVC</servlet-name>

    <url-pattern>*.html</url-pattern>

  </servlet-mapping>

 

2 配置”*-servlet.xml”文件,注意:*指的是web.xml中所指的servlet-name.例如,这里指的是springMVC.配置过程如下:

(1)实例化”HelloController.java.并定义id值为”helloController”.

<bean id="helloController" class="com.qhr.controller.HelloController"></bean>

(2) 配置控制器映射

<!-- 控制器映射 -->

<bean id="simpleUrlHandlerMapping"

class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

<property name="mappings">

<props>

<!-- key表示http的请求标识,helloController表示请求的controller -->

<prop key="hello.html">helloController</prop>

</props>

</property>

</bean>

(3)配置视图解析器

<!-- 视图解析器 -->

<bean id="internalResourceViewResolver"

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix" value="/"></property>

<property name="suffix" value=".jsp"></property>

</bean>

3 创建”HelloController.java文件

public class HelloController implements Controller {

@Override

public ModelAndView handleRequest(HttpServletRequest arg0,

HttpServletResponse arg1) throws Exception {

ModelAndView mav = new ModelAndView();

mav.setViewName("success");

return mav;

}

}

 

 

注解方式配置SpringMVC4

1 导包

 

2 配置”web.xml”,默认配置在”WEB-INF”目录下:

<servlet>

    <servlet-name>springMVC</servlet-name>

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

  </servlet>

  <servlet-mapping>

    <servlet-name>springMVC</servlet-name>

    <url-pattern>*.html</url-pattern>

  </servlet-mapping>

通过配置web.xml文件的”init-param”标签,可以将*-servlet.xml文件放在src目录下面:

<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*:/springMVC-servlet.xml</param-value>

    </init-param>

  </servlet>

  <servlet-mapping>

    <servlet-name>springMVC</servlet-name>

    <url-pattern>*.html</url-pattern>

  </servlet-mapping>

注意:这样配置的话springMVC-servlet.xml的名称将可以自己指定,例如ghySpring.xml:

<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*:/ghySpring.xml</param-value>

    </init-param>

  </servlet>

  <servlet-mapping>

    <servlet-name>springMVC</servlet-name>

    <url-pattern>*.html</url-pattern>

  </servlet-mapping>

3 配置*-servlet.xml,这里的*指的是”web.xml”中所指的servlet-name,但由于我配置classpath的值,所以现在的配置文件的名称为ghySpring.xml.配置过程如下:

 

如图:引入

”xmlns:context="http://www.springframework.org/schema/context”,”http://www.springframework.org/schema/context”,

“http://www.springframework.org/schema/context/spring-context-4.1.xsd”,并且一定要按照如图的顺序引入.

同时,添加”<context:component-scan base-package="com.qhr.controller"/>”,这个标签用来解析(实例化)”com.qhr.controller”包下的类.

 

4 创建”HelloController.java

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;

@Controller

@RequestMapping("helloController")

public class HelloController {

@RequestMapping("hello")

public ModelAndView handleRequest(){

ModelAndView mav = new ModelAndView();

mav.setViewName("success");

return mav;

}

}

 

@Controller:表示本Java类是controller的控制层,相当于实例化本类

@RequestMapping:表示用指定的URL路径访问本控制层

@RequestParam注解的功能:根据参数名从url取得参数值

 

5 SpringMVC乱码解决

web.xml文件中,增加乱码过滤器.配置过程如下:

注意:以下方法只适用于post方法提交.

<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>  

        <init-param>  

            <param-name>forceEncoding</param-name>  

            <param-value>true</param-value>  

        </init-param>  

    </filter>  

    <filter-mapping>  

        <filter-name>characterEncodingFilter</filter-name>  

        <url-pattern>/*</url-pattern>  

    </filter-mapping>

 

MyBatis的开发步骤

1 导入jar包

 

2 编写mybatis.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE configuration

  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

  "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<!编写默认环境变量(可以多个)-->

<environments default="development">

       <!编写mysql的环境变量-->

<environment id="development">

            <!设置事务管理器的类型为JDBC-->

<transactionManager type="JDBC" />

<!配置mysql的数据源连接方式-->

<dataSource type="POOLED">

                <!设置mysql数据库驱动-->

<property name="driver" value="com.mysql.jdbc.Driver" />

<!设置mysql数据库连接方式-->

<property name="url" value="jdbc:mysql://localhost:3306/ruige"/>

<!设置mysql数据库名称-->

<property name="username" value="root"/>

                <!设置mysql数据库密码-->

<property name="password" value="123456"/>

</dataSource>

</environment>

</environments>

    <!设置数据库表的映射方式-->

<mappers>

<mapper resource="userMapper.xml"/>

<mapper resource="workMapper.xml"/>

</mappers>

</configuration>

3 创建相应的数据库类

配置user表的映射文件类,其他表的与user表相似:(这里先不配置关联表的配置情况)

 

根据数据库的userinfo,添加相应的相应字段,并且添加相应的getset的方法.

 

4 创建SqlSessionFactory测试类:

//导入相关包

import java.io.IOException;

import java.io.InputStream;

import java.util.List;

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import com.qhr.bean.Work;

public class MappingTest {

//声明SqlSessionFactory变量,用于开启mysql连接

private SqlSessionFactory sqlSessionFactory = null;

//声明SqlSession变量,用于调用相关操作mysql的方法

private SqlSession sqlSession = null;

    //在进行测试之前,先调用连接数据库的文件源

@Before

public void init(){

String resource = "mybatis.xml";

InputStream inputStream;

try {

            //通过Resources调用字节流

inputStream = Resources.getResourceAsStream(resource);

sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

    //进行mysql数据库操作

@Test

public void O2O(){

        //连接mysql数据库

sqlSession = sqlSessionFactory.openSession();

        //调用mysql的操作方法

List<Work> list = sqlSession.selectList("getUserAndWork");

for (Work work : list) {

System.out.println(work);

}

}

//进行测试后执行的方法

@After

public void destory(){

        //提交事务

sqlSession.commit();

        //释放资源

sqlSession.close();

}

}

 

5 创建ORM(实体和数据库表的映射关系)

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper

  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.hxzy.bean.User">

  <select id="getUser" resultType="com.hxzy.bean.User">

    SELECT * FROM userinfo WHERE userid=1

  </select>

</mapper>

 

6 通过sqlSession操作数据库

User user = sqlSession.selectOne("getUser");

 

7 myBatis的增删查改

(1)查询

<resultMap type="com.qhr.bean.User" id="userMap">

<id property="userId" column="userId"/>

<result property="userName" column="userName" />

<result property="userPwd" column="userPwd" />

<result property="age" column="age"/>

</resultMap>

<select id="getAllUser" resultMap="userMap">

select * from userinfo

</select>

<select id="getUserNameById" resultType="com.qhr.bean.User" parameterType="int">

select userName from userinfo where userId=#{userId}

</select>

<select id="getUser" resultType="com.qhr.bean.User" parameterType="int">

select * from userinfo where userId=#{userId}

</select>

 

(2)删除

<delete id="deleteUser"  parameterType="int">

delete from userinfo where userId=#{userId}

</delete>

 

(3)增加

<insert id="insertUser" parameterType="com.qhr.bean.User">

insert into userinfo(userName,userPwd,age) values(#{userName},#{userPwd},#{age})

</insert>

 

(4)更改

<update id="updateUser" parameterType="com.qhr.bean.User">

update userinfo set userPwd=#{userPwd},age=#{age} where userId = #{userId}

</update>

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_34758475/article/details/81035038