当前位置:首页 » 数据仓库 » servlet获取数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

servlet获取数据库

发布时间: 2022-04-21 12:09:15

1. 怎么访问jsp时通过servlet获取数据库的数据

HTML是固定死的,无法动态的显示处理后的结果。
而servlet和jsp解决了这个问题,servlet可以接受来自用户登陆请求页面的数据,进行计算处理之后,返回给jsp页面来显示。
就你这个问题来说,应该这样写:
登录页面使用html和jsp都无所谓,里面需要一个表单FORM,action="处理业务的servlet的url",有一个提交查询按钮,这个查询按钮为submit。那么点击查询后,会把表单数据提交给servlet,在servlet中可以通过request.getParameter("参数名");来获取表单中的用户名参数,然后在servlet中调用jdbc代码取得数据库中对应用户的余额,然后通过request.setAttribute("余额",yue);可以传给jsp,在jsp页面中使用<%=request.getAttribute("余额")%>来显示相应的余额。

2. 写的servlet中往数据库中添加的方法实现不了,也跳转不了页面获取数据

首先网数据库添加,需要底层执行sql
1、你要debug一下,是否走到了底层执行sql,执行sql的时候,数据库连接是否正确,数据库连接方法里面,是否执行完后关闭了数据库
2、如果你连接的是oracle数据库,那么你需要在代码里面提交事务,如果是sqlserver
默认不用处理事务。
3、检查你的sql语句是否正确。
第二个跳转页面获取数据,我不清楚你是指的提交的时候还是跳转到你的表单页面。
1、如果是提交的时候,那么检查你的form的action是否正确指向了你的servlet的方法。如果你这里没有问题,那么检查你的servlet的xml配置文件,是否有这个servlet的配置。
2、如果你上面这一步成功了,那么检查你的form的method是否为post提交。

3. servlet无法调用数据库

对象为空。。
有可能是某些依赖注入的类,创建示例需要按框架的写法来

4. JSP+Servlet 页面加载时请求数据库,获取信息并显示到页面上,如何处理求指教!

兄弟,我想说你理解上有错误,想要在jsp页面显示数据库数据,一般是先到一个servlet进行取数据处理,把取到的数据设到request中去,然后请求转发到jsp页面,jsp页面通过el表达式即可获取数据,你要记住这个流程。而不是你说的进入到该页面时,立即请求数据。没有必要进入到页面在请求数据,只需要在进入页面之前取出数据即可。理解了这个过程非常重要,对以后框架的学习也很有帮助,除了这个过程之外,还有一个和这个相反的过程就是从页面输入数据然后插入到数据库之中,这个过程和上面的那个过程完全相反,就是想到数据输入的jsp页面,输入完成之后提交表单到特定的servlet,servlet进行具体的插入操作

5. eclips上在servlet中获取数据库中所有的信息并将其显示在页面上

您好,//import语句就不写了,反正现在的IDE这么先进,这难不了大家的
public class GetA000_photoServlet extends HttpServlet {
private static final String CONTENT_TYPE = "image/jpeg";
/**Initialize global variables*/
public void init() throws ServletException{
}
/**Process the HTTP Get request*/
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {
//从页面中取得传进来的参数personid
String personID = request.getParameter("personID");
//DataSourceManager 为取数库连接的类
DataSourceManager db = null;
Connection conn = null;
ResultSet rs = null;
PreparedStatement pstmt = null;
//用来存储照片数据的缓冲区
byte [] buf=null;
String sql = "select a.photo from Ftable a where a.PERSONID=?";
try{
db = new DataSourceManager();
if(db != null){
conn = db.getConnection();
if(conn != null){
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,personID);
rs = pstmt.executeQuery();
if(rs.next()){
//buf = rs.getBytes(1); //在网上查到的处理代码是这样处理的,但我这样做后却解决不了问题,我同学以为是数据的问题,然后认为只要把结果rs.getBytes(1)写到输出流,但结果确是令人非常失望,这令我不理解.后来作了如下的修改就基本解决了.(我的图片是以Blob类型存Oracle中的)
Blob blocco = (Blob)rs.getObject("A000_PHOTO");
int length = (int)blocco.length();
buf = blocco.getBytes(1, length);
}else{
buf = new byte[0];
}
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(rs != null)
rs.close();
if(pstmt != null)
pstmt.close();
if(conn != null)
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}if(buf == null)buf = new byte[0];
//告诉浏览器输出的是图片
response.setContentType(CONTENT_TYPE);
//图片输出的输出流
OutputStream out = response.getOutputStream();
//将缓冲区的输入输出到页面
out.write(buf);
//输入完毕,清楚缓冲
out.flush();
}
/**Clean up resources*/
public void destroy() {

}
}

//页面调用
<img border="0" src="<%=request.getContextPath()%>/getPhotoServlet/getPhoto?personID=16873&ts=aaaa" width="200" height="250">
TS是一个随机字段用于防止数据库更新后,页面不能显示更新后的图片.我传入的是一个时间戳以保证每次请求的地址都是不一样的.如果你的应用布署带有项目名的话,如http://localhost:8080/myServer/...,请不要忘了把<%=request.getContextPath()%>忘了写上.

//web.xml配置
<servlet>
<servlet-name>getPhotoServlet</servlet-name>
<servlet-class>com.szdc.web.gbkc.GetA000_photoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>getPhotoServlet</servlet-name>
<url-pattern>/getPhotoServlet/getPhoto</url-pattern>
</servlet-mapping>

6. java怎么通过servlet获取from的传值查询mysql数据库对应表的数据并显示到jsp页面中

request.getSession().setAttribute("cid",id);
//这样在后面就可以通过session.getAttribute("cid")来获取,望采纳

7. servlet读取数据库保存list到javabean再从JSP页面输出

是用的request.setAttribute("beanList",
list);
JSP页面取用应该这样:request.getAttribute("beanList");(页面跳转使用转发,不要使用重定向,不然request这个对象不会共享,就获取不到数据)

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

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

9. 怎样用servlet进行对数据库的操作

1、首先明确一点,servlet就是一个继承自javax.servlet.http.HttpServlet的类。

2、范例:使用servlet连接数据库

packagecom.oracle.project.servlet;

importjava.util.*;
importjava.io.*;
importjava.sql.*;

importjavax.servlet.*;
importjavax.servlet.http.*;
importjavax.servlet.annotation.*;

@WebServlet("/TestServlet")

{
="oracle.jdbc.driver.OracleDriver";
publicstaticfinalStringDBURL="jdbc:oracle:thin:@localhost:1521:ORACLEDB";
publicstaticfinalStringDBUSER="scott";
="tiger";
privateConnectionconn=null;

publicConnectiongetConnection(){
try{
if(this.conn==null){
Class.forName(DBDRIVER);
this.conn=DriverManager.getConnection(DBURL,DBUSER,PASSWORLD);
}
}catch(Exceptione){
e.printStackTrace();
}
returnconn;
}

@Override
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
PrintWriterout=response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>"+this.getConnection()+"</h1>");
out.println("</body>");
out.println("</html>");
}
@Override
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
this.doGet(request,response);
}
}