- 准备工作
加入jar包
注意:
别忘记加mysql-connector-java-…..jar
Bean
public class News {
private Integer Nid;
private String Ntitle;
private String Ncontent;
private Date Ntime;
private Integer Nclick;
private String Ntype;
private String Nauthor;
private String Nsource;
public class product {
private Integer Pid;
private String Pname;
private String Ptype;
private int Pprice;
private String Pad;
private String Purl;
注意:
c3p0-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<c3p0-config>
<default-config>
<property name="user">root</property>
<property name="password">123456</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/hgjs</property>
<property name="checkoutTimeout">30000</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
<property name="maxStatements">200</property>
</default-config>
</c3p0-config>
注意:
C3p0Utils
package org.zl.dbutils;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3p0Utils {
private static DataSource ds;
static {
ds = new ComboPooledDataSource();
}
public static DataSource getDataSource(){
return ds;
}
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
}
注意:
测试数据库连接
package org.zl.test;
@Test
public void GetDataSourceTest(){
QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource());
System.out.println(runner);
}
成功!!!!
注意:
EncodeFilter
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
// place your code here
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
req.setCharacterEncoding("utf-8");
res.setCharacterEncoding("utf-8");
res.setContentType("text/html;charset=utf-8");
// pass the request along the filter chain
chain.doFilter(req, res);
}
注意:
统一编码格式
- 着手写代码实现功能
ProductAllServlet
查询News数据表
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
// 创建QueryRunner对象
QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource());
// 写SQL语句
String sql = "select * from product limit 8";
try {
// 调用方法
List<Product> products = runner.query(sql, new BeanListHandler<>(Product.class));
List<Product> list = new ArrayList<Product>();
for (Product product2 : products) {
list.add(product2);
}
request.setAttribute("productAll", list);
request.getRequestDispatcher("/console/index.jsp").forward(request, response);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
注意:
1、limit 8表示只查8条数据
2、别忘记在web.xml中配置servlet
Index.jsp
<!--内容右下-->
<div class="indexs_content_right_bottom">
<ul>
<c:forEach items="${productAll}" var="productAll">
<li>
<img src="Images/${productAll.purl}">
<a>${productAll.ptype}</a>
</li>
</c:forEach>
</ul>
</div>
注意:
用JSTL标签库来遍历
Servlet
最新推荐文章于 2022-10-24 08:00:21 发布