如何使用jsp页面跳转到servlet中读取数据库中的数据,再通过servlet跳转到下一个jsp页面

我有一个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值显示出来。

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页面里取出来了.追问

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里

结果就出来了.

追问

还是请大神直接看看工程改改看最直接啦哇~拜托帮看看啦。留下qq

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-03
在jsp页面上用个超链接<a href=“WelcomeServlet ”>获得title</a>,什么数据库,看你导入的包已经写好了DAO的方法,那就直接调用DAO的方法,得到返回值。然后用request.setAttribute("xxx",title)保存,用
req.getRequestDispatcher("./technique.jsp").forward(req, res);
跳转到technique页面,用c标签取出,或者最基本的<%=request.getAttribute("xxx")%>就显示了追问

能给qq帮看看吗?可能是我描述不清楚的问题= =

第2个回答  2012-07-03
数据库连接你有写么?
给你个 数据连接的类。
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);
}
第3个回答  2012-07-03
TechniqueDAO dao = new TechniqueDAOImpl();
接着调用dao里面的方法去查询title的值(dao.方法)
然后requst.setAttribute("title",数据库查询出来的title的值);
第4个回答  2012-07-03
buzhidao a

用servlet&JSP技术 怎么在进入index.jsp自动从数据库取数据. 页面上不...
所以你在进入index.jsp之前就吧数据取到了,在load这个servlet里写取数据的代码就行了。

jsp通过servlet传值到另一个jsp页面
Servlet传值给Jsp具体实现如下:java代码:String a= "abccdefg "; request.setAttribute( "ValueA ",a); request.getRequestDispatcher( "网址\/jsp页面 ").forward(request,response); jsp页面:jsp页面就可以取出Servlet的值。jsp通过servlet传值到另一个jsp页面 ...

点击jsp页面的按钮通过servlet跳转到另一个jsp页面
1、前台: 2、servlet:处理。。。request.setAttribuate("msg","你需要显示的值");this.getServletContext().getRequestDispatcher("跳转的servlet").forward(request, response);3、JSP页面显示 out.print(request.getAttribuate("msg"));求采纳,求给分!

jsp页面查询数据库
1、用户在jsp中输入需要查询的对象并跳转Servlet。2、Servlet在后台接收到数据。3、Servlet与数据库建立连接,并且在Servlet输入sql代码与用户输入的信息,点击查询Mysql数据库里的表格。4、在Servlet中接收数据库查询到的信息。5、再通过跳转跳转到一个新的jsp页面中,并在页面中输出查询出来的表格。

JSP中怎么可以做到既提交了表单中的数据,又跳转到另一个页面?
JSP中提交表单的同时页面跳转是通过servlet控制的。RequestDispatcher.forward()是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 ...

怎么从一个jsp页面跳转到另一个jsp页面
你可以在jsp页面使用超链接标签 例如 点击我跳转 也可以在后台servlet中使用 重定向 例如 response.sendRedirect("xxx.jsp");也可以使用转发 例如 request.getRequestDispatcher("xxx.jsp").forward(request.response);

JSP+Servlet 页面加载时请求数据库,获取信息并显示到页面上,如何处理...
兄弟,我想说你理解上有错误,想要在jsp页面显示数据库数据,一般是先到一个servlet进行取数据处理,把取到的数据设到request中去,然后请求转发到jsp页面,jsp页面通过el表达式即可获取数据,你要记住这个流程。而不是你说的进入到该页面时,立即请求数据。没有必要进入到页面在请求数据,只需要在进入页面...

jsp页面跳转另一个jsp(jsp页面跳转另一个jsp和地址栏输入才跳转)
怎么从一个jsp页面跳转到另一个jsp页面你可以在jsp页面使用超链接标签例如ahref="xxx.jsp"点击我跳转a 也可以在后台servlet中使用重定向例如response.sendRedirect("xxx.jsp");也可以使用转发例如request.getRequestDispatcher("xxx.jsp").forward(request.response);怎么在JSP中跳转到别一页面在JSP中使用...

如何在javaservlet和jsp间互传数据
在servlet上下文中以“hello”为键,保存了“hello world”这一个字符串,如果要在jsp中调用,则用如下jsp脚本 1 <%=application.getAttribute("hello")%> 2、利用session在同一个会话共享数据 利用HttpSession共享同一个会话的数据。这也要用到session的getAttribute()\/setAttribute()方法,和Servlet...

通过JSP 页面调用servlet方法?
1、首先,在软件开发平台新建web项目命名为combineJsp。2、其次,按照图示代码在WEB-INF下新建web.xml文件,设置默认主页路径。3、在index.jsp文件中引入子文件sub.jsp,具体引入代码见下图红色方框。4、按照图示代码在page文件夹下新建子文件sub.jsp,用于index.jsp文件引入。5、在servers下的tomcat服务器...

相似回答