如何使用jsp页面跳转到servlet中读取数据库中的数据,再通过servlet跳转到下一个jsp页面
我有一个welcome.jsp页面,我想调用welcome.servlet,通过welcome.servlet去用数据库中的technique这个表中的title值,但不...
我有一个welcome.jsp页面,我想调用welcome.servlet,通过welcome.servlet去用数据库中的technique这个表中的title值,但不知道welcome.servlet该怎么写好
package jspservlet.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jspservlet.dao.TechniqueDAO;
import jspservlet.dao.impl.TechniqueDAOImpl;
import jspservlet.vo.Technique;
public class WelcomeServlet extends HttpServlet {
}
大括号里面具体的代码不会写了。
最后读出来title的值
用req.getRequestDispatcher("./technique.jsp").forward(req, res);跳转到technique页面,在页面上将title值显示出来。 展开
package jspservlet.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jspservlet.dao.TechniqueDAO;
import jspservlet.dao.impl.TechniqueDAOImpl;
import jspservlet.vo.Technique;
public class WelcomeServlet extends HttpServlet {
}
大括号里面具体的代码不会写了。
最后读出来title的值
用req.getRequestDispatcher("./technique.jsp").forward(req, res);跳转到technique页面,在页面上将title值显示出来。 展开
展开全部
servlet执行数据库操作.把结果例如得到了一个List all = DB.get()....
可以这样做 : request.setAttribute("allList",all);
这是把all的值赋给名字叫 allList 的
然后JSP 页面里就可以通过
List allList = request.getAttribute("allList");
然后在JSP页面里就可以得到这个结果了
我看你写的DAO操作.
如果结果是一个集合的话
所以servlet里应该是 List all = IDAO.getList() 看你自己的方法如果调用了..
然后通过我上面说的一个赋值,一个取值.就可以在JSP页面里取出来了.
可以这样做 : request.setAttribute("allList",all);
这是把all的值赋给名字叫 allList 的
然后JSP 页面里就可以通过
List allList = request.getAttribute("allList");
然后在JSP页面里就可以得到这个结果了
我看你写的DAO操作.
如果结果是一个集合的话
所以servlet里应该是 List all = IDAO.getList() 看你自己的方法如果调用了..
然后通过我上面说的一个赋值,一个取值.就可以在JSP页面里取出来了.
更多追问追答
追问
package jspservlet.dao;
import jspservlet.vo.Technique;
public interface TechniqueDAO {
public int queryByTechnique(Technique technique) throws Exception;
}
追答
int i = queryByTechnique(Technique technique);
request.setAttribute("i",i); 这是赋值,在servlet里
int i= (int)request.getAttribute("i"); 这是取值,在JSP里
结果就出来了.
展开全部
在jsp页面上用个超链接<a href=“WelcomeServlet ”>获得title</a>,什么数据库,看你导入的包已经写好了DAO的方法,那就直接调用DAO的方法,得到返回值。然后用request.setAttribute("xxx",title)保存,用
req.getRequestDispatcher("./technique.jsp").forward(req, res);
跳转到technique页面,用c标签取出,或者最基本的<%=request.getAttribute("xxx")%>就显示了
req.getRequestDispatcher("./technique.jsp").forward(req, res);
跳转到technique页面,用c标签取出,或者最基本的<%=request.getAttribute("xxx")%>就显示了
追问
能给qq帮看看吗?可能是我描述不清楚的问题= =
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库连接你有写么?
给你个 数据连接的类。
public class WebDataSource{
private static final String diverClass="org.gjt.mm.mysql.Driver";
private static final String url="jdbc:mysql://127.0.0.1/数据库名";
private static final String user="root";
private static final String pswd="密码";
public static Connection getConnection() throws SQLException{
Connection conn=null;
try{
Class.forName(diverClass);
conn=DriverManager.getConnection(url, user, pswd);
}
catch(Exception ex){
StringBuffer sb=new StringBuffer();
sb.append("无法连接到数据库,请检查驱动类或数据库连接。\r\n");
sb.append("<br>可能原因一:"+diverClass+":对应的驱动类未被载入工程\r\n");
sb.append("<br>可能原因二:url"+url+":信息配置不正确\r\n");
sb.append("<br>可能原因三:user"+user+":不正确\r\n");
sb.append("<br>可能原因四:password"+pswd+":不正确\r\n");
throw new SQLException(sb.toString());
}
return conn;
}
public static void closeStatement(Statement stmt) {
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException ex) {
System.out.println(ex);
}
}
public static void closeConnection(Connection conn) {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex);
}
}
在你的servlet 中先调用
getConnection() 这个方法然后创建数据库连接对象,执行sql语句。然后将语句执行sql语句。
给你个例子,研究下。
try {
conn = this.getConnection();
pstmt = (PreparedStatement) conn.prepareStatement(“sql语句”);
pstmt.setInt(1, anli_tree_id);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
lt.setId(rs.getInt("ID"));
}
rs.close();
} catch (SQLException ex) {
System.err.println(ex.getMessage());
} finally {
closeStatement(pstmt);
closeConnection(conn);
}
给你个 数据连接的类。
public class WebDataSource{
private static final String diverClass="org.gjt.mm.mysql.Driver";
private static final String url="jdbc:mysql://127.0.0.1/数据库名";
private static final String user="root";
private static final String pswd="密码";
public static Connection getConnection() throws SQLException{
Connection conn=null;
try{
Class.forName(diverClass);
conn=DriverManager.getConnection(url, user, pswd);
}
catch(Exception ex){
StringBuffer sb=new StringBuffer();
sb.append("无法连接到数据库,请检查驱动类或数据库连接。\r\n");
sb.append("<br>可能原因一:"+diverClass+":对应的驱动类未被载入工程\r\n");
sb.append("<br>可能原因二:url"+url+":信息配置不正确\r\n");
sb.append("<br>可能原因三:user"+user+":不正确\r\n");
sb.append("<br>可能原因四:password"+pswd+":不正确\r\n");
throw new SQLException(sb.toString());
}
return conn;
}
public static void closeStatement(Statement stmt) {
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException ex) {
System.out.println(ex);
}
}
public static void closeConnection(Connection conn) {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex);
}
}
在你的servlet 中先调用
getConnection() 这个方法然后创建数据库连接对象,执行sql语句。然后将语句执行sql语句。
给你个例子,研究下。
try {
conn = this.getConnection();
pstmt = (PreparedStatement) conn.prepareStatement(“sql语句”);
pstmt.setInt(1, anli_tree_id);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
lt.setId(rs.getInt("ID"));
}
rs.close();
} catch (SQLException ex) {
System.err.println(ex.getMessage());
} finally {
closeStatement(pstmt);
closeConnection(conn);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
TechniqueDAO dao = new TechniqueDAOImpl();
接着调用dao里面的方法去查询title的值(dao.方法)
然后requst.setAttribute("title",数据库查询出来的title的值);
接着调用dao里面的方法去查询title的值(dao.方法)
然后requst.setAttribute("title",数据库查询出来的title的值);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询