IDEA创建servlet+jstl+jdbc
2017-12-20 17:18
253 查看
右键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的申明部分
相关文章推荐
- IDEA下创建Maven,Servlet,JSP,MYSQL项目
- 用idea创建web项目,servlet response 等出错的原因(jsp中内置对象方法无法被解析的解决办法)
- IDEA创建简单servlet
- IDEA创建Servlet项目
- IDEA创建Java项目并配置servlet
- idea在创建servlet时没有Servlet选项
- Servlet中jdbc应用高级(创建connection)
- idea创建javaweb项目,报找不到apache 的servlet包
- 使用IDEA创建第一个Servlet工程
- 从IO 到框架(4)-Servlet + JDBC (Idea Maven)
- idea创建web项目部署到tomcat服务器,servlet不能用问题解决
- 使用IDEA创建Maven项目使用JSTL标签所需要的依赖
- Jstl、el、jdbc、dbcp、servlet的CRUD示例
- IDEA与Tomcat创建并运行Java Web项目及servlet的简单实现
- IDEA创建servlet 找不到javax.servlet包的解决方法
- IDEA 创建 javaWeb 以及简单Servlet实现
- IDEA创建servlet时找不到 import javax.servlet...相关类包的问题
- intelj idea 创建 Servlet 类
- Idea中Maven的运用,创建一个web项目,servlet演示
- JDBC+Servlet+JSP整合开发之28-JSP_标准标签(JSTL)