IDEA创建servlet+jstl+jdbc

来源:互联网 发布:qt网络编程项目java 编辑:程序博客网 时间:2024/06/05 07:09

这里写图片描述
这里写图片描述

右键Add Framework Support
这里写图片描述
这里写图片描述

pom.xml加入依赖包

  <dependencies>    <!--servlet-api-->    <dependency>      <groupId>javax.servlet</groupId>      <artifactId>javax.servlet-api</artifactId>      <version>4.0.0</version>      <scope>provided</scope>    </dependency>    <!--JSP标准标签库-->    <dependency>      <groupId>javax.servlet</groupId>      <artifactId>jstl</artifactId>      <version>1.2</version>    </dependency>    <!--mysql-->    <dependency>      <groupId>mysql</groupId>      <artifactId>mysql-connector-java</artifactId>      <version>6.0.6</version>    </dependency>    <dependency>      <groupId>commons-logging</groupId>      <artifactId>commons-logging</artifactId>      <version>1.2</version>    </dependency>    <!--json-->    <dependency>      <groupId>org.json</groupId>      <artifactId>json</artifactId>      <version>20171018</version>    </dependency>  </dependencies>

创建ListServlet.java

package com.servlet;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.ServletException;import java.io.IOException;@WebServlet("/baidu")public class ListServlet extends HttpServlet{    @Override    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{        super.doGet(request,response);    }    @Override    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{        this.doPost(request,response);    }}

这里写图片描述
这里写图片描述

运行,浏览器输入http://localhost:8080/baidu
自动会跳到www.baidu.com
上面是使用注解方式处理的,下面使用非注解方式
web目录下新增WEB-INF目录,WEB-INF目录新增web.xml文件
这里写图片描述

web.xml内容

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"         version="3.1">        <servlet>            <servlet-name>listServlet</servlet-name>            <servlet-class>com.servlet.ListServlet</servlet-class>        </servlet>        <servlet-mapping>            <servlet-name>listServlet</servlet-name>            <url-pattern>/baidu</url-pattern>        </servlet-mapping></web-app>

使用jdbc
创建user表

CREATE TABLE `mybatis`.`user`  (  `id` int(10) NOT NULL AUTO_INCREMENT,  `name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',  PRIMARY KEY (`id`) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;insert into `user`(name)values("aa"),("bb"),("cc");

创建User.java

package com.model;public class User {    private int ID;    private String Name;    public int getID(){        return ID;    }    public String getName() {        return Name;    }    public void setID(int ID) {        this.ID = ID;    }    public void setName(String name) {        Name = name;    }}

ListServlet.java修改

package com.servlet;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.ServletException;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.model.User;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.json.JSONObject;//@WebServlet("/baidu")public class ListServlet extends HttpServlet{    private static final Log logger =            LogFactory.getLog(ListServlet.class);    @Override    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{        //super.doGet(request,response);        //response.sendRedirect("http://www.baidu.com");        String url = "jdbc:mysql://192.168.1.229:3306/mybatis?characterEncoding=utf8&useSSL=true";        String username = "root";        String pass = "jsyx2016!";        Connection conn = null;        try{            //加载驱动            Class.forName("com.mysql.jdbc.Driver");            // 建立连接            conn = DriverManager.getConnection(url,username,pass);            String sql = "SELECT id,name FROM user";            PreparedStatement statement = conn.prepareStatement(sql);            ResultSet rs = statement.executeQuery();            List<User> userList = new ArrayList<User>();            while(rs.next()){                User user = new User();                user.setID(rs.getInt("id"));                user.setName(rs.getString("name"));                userList.add(user);            }            //logger.info(userList);            JSONObject json = new JSONObject();            json.put("list",userList);            System.out.println(json);            request.setAttribute("list",userList);        }catch (ClassNotFoundException e){            e.printStackTrace();        }catch(SQLException e){            e.printStackTrace();        }        //关闭连接        finally{            if(conn!=null){                try{                    conn.close();                }catch(SQLException e){                    e.printStackTrace();                }            }        }        String jsp = "/WEB-INF/jsp/index.jsp";        request.getRequestDispatcher(jsp).forward(request, response);    }    @Override    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{        //this.doPost(request,response);    }}

WEB-INF目录创建jsp目录,jsp目录新增index.jsp,内容如下

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>列表</title></head><body>    <table>        <tr>            <th>序号</th>            <th>ID</th>            <th>Name</th>        </tr>        <c:forEach items="${list}" var="user" varStatus="status">        <tr>            <td>${status.index + 1}</td>            <td>${user.ID}</td>            <td>${user.name}</td>        </tr>        </c:forEach>    </table></body></html>

其中的

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

是引入jstl的申明部分

原创粉丝点击