spring整合javaweb(第一版)

1.导入依赖(jar包)

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-web</artifactId>
  <version>4.3.9.RELEASE</version>
</dependency>

 

<!-- 2.javaee的依赖-->
<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>6.0</version>
    <scope>provided</scope>
</dependency>

<!-- 3.jsp进行循环迭代数据 使用jstl-->
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

以添加图书为例:

Entity

public class Book {
    private Integer bookid;
    private String bookname;
    private String bookprice;
    private String booktype;

    public Integer getBookid() {return bookid;}
    public void setBookid(Integer bookid) {
        this.bookid = bookid;
    }

    public String getBookname() {
        return bookname;
    }
    public void setBookname(String bookname) {
        this.bookname = bookname;
    }

    public String getBookprice() {
        return bookprice;
    }
    public void setBookprice(String bookprice) {
        this.bookprice = bookprice;
    }

    public String getBooktype() {
        return booktype;
    }
    public void setBooktype(String booktype) {
        this.booktype = booktype;
    }
}

Dao

public interface IBookDAO {
    /**
     *
     * @param book
     * @return
     */
    public int addBook(Book book);
}

IBookDAO.xml文件

<?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="cn.happy.javaweb.dao.IBookDAO">
   
    <!--添加后返回自增列的值-->
    <insert id="addBook" parameterType="Book">
        insert into book(bookname,bookprice,booktype) value(#{bookname},#{bookprice},#{booktype})
    </insert>
    
</mapper>

Service

public interface IBookService {
    /**
     *
     * @param book
     * @return
     */
    public int addBook(Book book);
}

public class BookServiceImpl implements IBookService {
    //植入dao
    private IBookDAO dao;
    public int addBook(Book book) {
        return dao.addBook(book);
    }


    public IBookDAO getDao() {return dao;}
    public void setDao(IBookDAO dao) {
        this.dao = dao;
    }
}

<?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>  <!--根节点 -->

    <!--配置类型别名-->
    <typeAliases>
         <!--将该类中的简单类型作为别名 -->
        <package name="cn.happy.javaweb.entity"></package>
     </typeAliases>

</configuration>

 jdbc.properties文件

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///school
jdbc.username=root
jdbc.password=123156

 applicationContextJavaWed.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:p="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:tx="http://www.springframework.org/schema/tx"
       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/aop http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
">
    <!--01识别jdbc.properties-->
    <!--方式二-->
      <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
          <property name="location" value="classpath:jdbc.properties"></property>
      </bean>


    <!--2.数据源   spring内置数据源 DriverManagerDataSource-->
     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
         <property name="driverClassName" value="${jdbc.driverClassName}"></property>
         <property name="url" value="${jdbc.url}"></property>
         <property name="username" value="${jdbc.username}"></property>
         <property name="password" value="${jdbc.password}"></property>
     </bean>

    <!--03工厂配置-->
    <bean  class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <!--大配置文件-->
        <property name="configLocation" value="classpath:mybatis-config01.xml"></property>
    </bean>

    <!--04dao 实现类-->
    <bean  class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="cn.happy.javaweb.dao"></property>
    </bean>

    <!--05service-->
    <bean id="studentService" class="cn.happy.javaweb.service.BookServiceImpl">
        <property name="dao" ref="IBookDAO"></property>
    </bean>


</beans>

页面:

success.jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>添加图书</title>
</head>
<body>
    <center>
    <form method="post" action="/BookServlet">
        图书名称:<input type="text" name="name"><br/>
        图书价格:<input type="text" name="price"><br/>
        图书类型:<input type="text" name="type"><br/>
        <input type="submit" value="提交">
    </form>
    </center>
</body>
</html>

 index.jsp页面

<%@ page language="java"  pageEncoding="UTF-8" %>
<html>
<head>
    <title>添加图书</title>
</head>
<body>
<h2>添加成功</h2>
</body>
</html>

Servlet

@WebServlet(name = "BookServlet",urlPatterns = {"/BookServlet"})
public class BookServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
       String name= request.getParameter("name");
       String price= request.getParameter("price");
       String type= request.getParameter("type");
       Book book=new Book();
       book.setBookname(name);
       book.setBookprice(price);
       book.setBooktype(type);
       //调用添加的方法
        ApplicationContext context=new ClassPathXmlApplicationContext("applicationContextJavaWed.xml");
        IBookService service = (IBookService)context.getBean("studentService");
        int count = service.addBook(book);
        if (count>0){  //添加成功
            request.getRequestDispatcher("/index.jsp").forward(request,response);
        }else {   //添加失败
            request.getRequestDispatcher("/success.jsp").forward(request,response);
        }

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      doPost(request,response);
    }
}

 

这种写法有一定的缺陷,请关注第二版。

有时jar包可能会发生冲突,这就需要我们这就不断调试

原文地址:https://www.cnblogs.com/sujulin/p/7723723.html