java web入门 第二期--002【模糊查询】

(1)Index.jsp
<%@page import="com.mmmm.model.Customser"%>
<%@page import="org.apache.commons.collections.CollectionUtils"%>
<%@page import="java.util.Collections"%>
<%@page import="java.util.List"%>
<%@page import="org.apache.jasper.tagplugins.jstl.core.ForEach"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="query.do" method="POST">

CustomerName:<input type="text" name="name" value=<%=request.getParameter("name")==null?"":request.getParameter("name")%>> 
<br> <br>
Address:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<input type="text" name="address" value=<%=request.getParameter("address")==null?"":request.getParameter("address")%>> 
<br> <br>
Phone:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="phone" value=<%=request.getParameter("phone")==null?"":request.getParameter("phone")%> > 

<br> <br> 
<input type="submit" name="submit" value="Query" />

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="">Add New Customer</a>
</form>
<br>
<br>

<table border="1" cellpadding="0" cellspacing="10">
<tr>


<th>ID</th>
<th>CustomerName</th>
<th>Address</th>
<th>Phone</th>
<th>Update/delete</th>


</tr>


<%
List<Customser> customers = (List<Customser>) request.getAttribute("customers");
if(!CollectionUtils.isEmpty(customers)){

%>
<%
for (Customser customer : customers) {
%>
<tr>
<td><%=customer.getId()%></td>
<td><%=customer.getName()%></td>
<td><%=customer.getAddress()%></td>
<td><%=customer.getPhone()%></td>
<td><a href="">UPDATE</a>/<a href="">DELETE</a></td>
</tr>
<%
}
%>

<%} %>
</table>


</body>
</html>

(2)Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">

<servlet>
<servlet-name>customerServlet</servlet-name>
<servlet-class>com.mmmm.servlet.CustomerServlet</servlet-class>
</servlet>


<servlet-mapping>
<servlet-name>customerServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>


(3)Servlet
package com.mmmm.servlet;


import java.io.IOException;
import java.lang.reflect.Method;
import java.util.List;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import com.mmmm.dao.impl.CustomerDAO;
import com.mmmm.dao.impl.CustomerDAOImpl;
import com.mmmm.model.Customser;


public class CustomerServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private CustomerDAO customerDAO = new CustomerDAOImpl();


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


String servletPath = request.getServletPath();
String methodName=servletPath.substring(1);

 

String method=methodName.substring(0, methodName.length()-3);

 

//反射

try {
Method me = getClass().getDeclaredMethod(method, HttpServletRequest.class, HttpServletResponse.class);
me.invoke(this, request, response);
} catch (Exception e) {
e.printStackTrace();
}


}


@SuppressWarnings("unused")
private void query(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


String name=request.getParameter("name");
String address=request.getParameter("address");
String phone=request.getParameter("phone");
//封装对象
Customser cc=new Customser(name, address, phone);

List<Customser> customers =null;

if(name.isEmpty()&&address.isEmpty()&&phone.isEmpty()){
//无参数查询
customers = customerDAO.getAll();

}else{
//有参数查询
customers=customerDAO.getListByParamater(cc);

}

request.setAttribute("customers", customers);
request.getRequestDispatcher("/index.jsp").forward(request, response);


}


}


(4)Dao
package com.mmmm.dao.impl;


import java.util.List;


import com.mmmm.model.Customser;


public interface CustomerDAO {


/**
* 无条件查询 获取全部
* @return
*/
List<Customser> getAll();

/**
* 根绝条件查询
* @param customser
* @return
*/
List<Customser> getListByParamater(Customser customser);
}


(5)daoImpl
package com.mmmm.dao.impl;


import java.util.ArrayList;
import java.util.List;
import java.util.Map;


import org.springframework.jdbc.core.JdbcTemplate;


import com.mmmm.model.Customser;
import com.mmmm.utils.JdbcUtil;


public class CustomerDAOImpl implements CustomerDAO {


/**
* 无条件查询
*/
@Override
public List<Customser> getAll() {
String sql = "select * from user";
JdbcTemplate jdbcTemplate = null;
try {
jdbcTemplate = JdbcUtil.getJdbcTemplate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
List<Map<String, Object>> queryForList = jdbcTemplate.queryForList(sql);


return mapToCustomer(queryForList);
}


/**
* 根据条件查询
*/
@Override
public List<Customser> getListByParamater(Customser customser) {
String sql = "select * from user where name like ? and address like ? and phone like ? ";
JdbcTemplate jdbcTemplate = null;
try {
jdbcTemplate = JdbcUtil.getJdbcTemplate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
List<Map<String, Object>> queryForList = jdbcTemplate.queryForList(sql,customser.getName(),customser.getAddress(),customser.getPhone());


return mapToCustomer(queryForList);
}


/**
* map 转 Customer

* @param queryForList
* @return
*/
@SuppressWarnings("rawtypes")
public List<Customser> mapToCustomer(List<Map<String, Object>> queryForList) {


List<Customser> list = new ArrayList<Customser>();
for (Map map : queryForList) {


Customser cc = new Customser();
cc.setId(String.valueOf(map.get("id")));
cc.setName((String) map.get("name"));
cc.setAddress((String) map.get("address"));
cc.setPhone((String) map.get("phone"));


list.add(cc);
}
return list;
}


}

(6)Jdbc
package com.mmmm.utils;


import org.springframework.jdbc.core.JdbcTemplate;


import com.mchange.v2.c3p0.DriverManagerDataSource;


public class JdbcUtil {


private final static String driverName="com.mysql.jdbc.Driver";


private final static String url="JDBC:mysql:///user";


private final static String user="root"; 
private final static String password="123456";

public static JdbcTemplate getJdbcTemplate() throws Exception{


DriverManagerDataSource dataSource=new DriverManagerDataSource();  
dataSource.setDriverClass(driverName);  
dataSource.setJdbcUrl(url);  
dataSource.setUser(user);  
dataSource.setPassword(password);  
JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);  
return jdbcTemplate;
}
}


(7)Model
package com.mmmm.model;


public class Customser {


@Override
public String toString() {
return "Customser [id=" + id + ", name=" + name + ", address=" + address + ", phone=" + phone + "]";
}
public Customser(String name, String address, String phone) {
super();
this.name = "%"+name.trim()+"%";
this.address = "%"+address.trim()+"%";
this.phone = "%"+phone.trim()+"%";

}
public Customser() {
super();
}
private String id;
private String name;
private String address;
private String phone;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}

}

(8)涉及的jar包如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值