我做了一个基于J2EE的购物网站,问下如何使用Servlet对数据库里的数据进行模糊搜索,然后用JSP输出显示。
我在首页index.jsp内写了个搜索条,输入关键字后点击搜索button,录入关键字。现在想知道怎么使用Servlet对该关键字在数据库中进行搜索,我用的Mysql,数...
我在首页index.jsp内写了个搜索条,输入关键字后 点击搜索button,录入关键字。现在想知道怎么使用Servlet对该关键字在数据库中进行搜索,我用的Mysql,数据库名为css,商品表单位soft,sql语句我写好了:select * from soft where name like '%"&xx& "%' order by sfid desc 。 现在想要Servlet的具体代码,还有JSP如何输出显示Servlet搜索到的数据, 越详细越好,如果好用 我还会追加分数的。
展开
3个回答
2013-03-17
展开全部
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import com.trms.bean.Course;
import com.trms.bean.Previous;
import com.trms.dao.DAO;
public class TestService {
public static HashMap<Integer, Previous> getPrevious(){
DAO dao = new DAO();
HashMap<Integer, Previous> map = new HashMap<Integer, Previous>();
String sql = "select * from previous";
ResultSet rs = dao.query(sql);
try {
int i = 0;
while(rs.next()){
i++;
Previous p = new Previous();
p.setcNo(rs.getInt(1));
p.setcPNo(rs.getInt(2));
p.setcName(rs.getString(3));
map.put(1, p);
}
} catch (SQLException e) {
e.printStackTrace();
}
return map;
}
public static HashMap<Integer, Course> getCourse(){
DAO dao = new DAO();
HashMap<Integer, Course> map = new HashMap<Integer, Course>();
String sql = "select * from course";
ResultSet rs = dao.query(sql);
try {
int k = 0;
while(rs.next()){
k++;
Course c = new Course();
HashMap<?, ?> map1 = getPrevious();
HashMap<Integer, Previous> map2 = new HashMap<Integer, Previous>();
int j = 0;
for(int i=0;i<map1.size();i++){
if(((Previous)map1.get(i+1)).getcPNo()==rs.getInt(1)){
j++;
map2.put(j, ((Previous)map1.get(i+1)));
}
}
c.setCNo(rs.getInt(1));
c.setCPNo(rs.getInt(2));
c.setCLen(rs.getInt(3));
c.setDescription(rs.getString(4));
c.setPrevList(map2);
map.put(k, c);
}
} catch (SQLException e) {
e.printStackTrace();
}
return map;
}
}
import java.sql.SQLException;
import java.util.HashMap;
import com.trms.bean.Course;
import com.trms.bean.Previous;
import com.trms.dao.DAO;
public class TestService {
public static HashMap<Integer, Previous> getPrevious(){
DAO dao = new DAO();
HashMap<Integer, Previous> map = new HashMap<Integer, Previous>();
String sql = "select * from previous";
ResultSet rs = dao.query(sql);
try {
int i = 0;
while(rs.next()){
i++;
Previous p = new Previous();
p.setcNo(rs.getInt(1));
p.setcPNo(rs.getInt(2));
p.setcName(rs.getString(3));
map.put(1, p);
}
} catch (SQLException e) {
e.printStackTrace();
}
return map;
}
public static HashMap<Integer, Course> getCourse(){
DAO dao = new DAO();
HashMap<Integer, Course> map = new HashMap<Integer, Course>();
String sql = "select * from course";
ResultSet rs = dao.query(sql);
try {
int k = 0;
while(rs.next()){
k++;
Course c = new Course();
HashMap<?, ?> map1 = getPrevious();
HashMap<Integer, Previous> map2 = new HashMap<Integer, Previous>();
int j = 0;
for(int i=0;i<map1.size();i++){
if(((Previous)map1.get(i+1)).getcPNo()==rs.getInt(1)){
j++;
map2.put(j, ((Previous)map1.get(i+1)));
}
}
c.setCNo(rs.getInt(1));
c.setCPNo(rs.getInt(2));
c.setCLen(rs.getInt(3));
c.setDescription(rs.getString(4));
c.setPrevList(map2);
map.put(k, c);
}
} catch (SQLException e) {
e.printStackTrace();
}
return map;
}
}
展开全部
代码我这没有也不想去写.
我就说下思路:
首先你提交请求到servlet,然后 调用jdbc进行查询 查询成功返回一个对象集合,
把这对象集合放到request内。最后返回到要显示的jsp页面 进行集合遍历。
我就说下思路:
首先你提交请求到servlet,然后 调用jdbc进行查询 查询成功返回一个对象集合,
把这对象集合放到request内。最后返回到要显示的jsp页面 进行集合遍历。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设计模式,还有一个框架也和数据库打交道的,ibatis,也有人用ssi的,再有就是运用了,用所学的知道去做项目
但愿能帮到你、希望采纳!
但愿能帮到你、希望采纳!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询