IDEA创建servlet+jstl+jdbc

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

右键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的申明部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值