servlet调用数据库封装类提示,无法获取Connection对象!!!

servlet调用数据库封装类进行查询时,提示ps = conn.preparedStatement(sql);语句是NUllPOINTEREXCEPTION,但在main方法中测试数据库正常连接

我把有问题的代码提炼成一个新的模板,因为我查了很多,都是说Connection conn对象获取异常。网上说的一些解决办法,我都试过了,如提升Tomcat版本,还是不行。下面的代码中无法获取conn对象,跟我的demo问题一摸一样,不知道如何解决!!!

index.jsp文件源码

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<!DOCTYPE HTML>


My JSP 'index.jsp' starting page


<%
String temp =(String) request.getAttribute("info");
if(temp != null){
out.print(temp);

}
%>
<h1>index.jsp页面!!!</h1>
<hr>
<form action = "ConnectionServlet" method="post">
    <input type ="submit" value = "提交"/>
</form>


ConnectionServlet.java源码

import java.io.IOException;
import java.sql.Connection;

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

public class ConnectionServlet extends HttpServlet{

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Connection conn = ConnectionClass.getConnection();
    if(conn != null){
        request.setAttribute("info", conn);         
    } else {
        request.setAttribute("info", "conn为空!!!");
    }
    request.getRequestDispatcher("index.jsp").forward(request, response);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    this.doGet(request, response);
}

}

ConnectionClass.java源码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionClass {
public static Connection getConnection(){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/user","root","sunliqian");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">

ConnectionServlet
ConnectionServlet


ConnectionServlet
/ConnectionServlet

求大佬解决!!! 没有金币。。。

1个回答

main方法这句话能跑?

 Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/user","root","sunliqian");

你可能是把mysql的驱动jar没放到tomcat上,,,apache-tomcat-7.0.57\lib,,,tomcat下面有个lib包,,把mysql的jar放进去就行了。。

main运行和tomcat运行不是一个平台

Small_Mouse0
小鼠标丶 回复sun_li_qian: 不用谢互相学习,,main运行和tomcat上的项目运行不是一个平台,,main方法可以使用你path中配置的jar,,tomcat上的项目运行在tomcat服务器上,它是不能用你eclipse中配置的jar的,两个运行平台不一样,,不知道这样解释能不能明白,,对你有帮助请采纳
2 年多之前 回复
sun_li_qian
sun_li_qian 回复小鼠标丶: main方法确实能跑,问题确实是lib包中没有mysql驱动包。**但是我在myeclipse中配置path中添加了mysql的驱动包了,它为啥没有部署到程序中了?** 谢谢,你的解答,非常感谢!!! 我是一枚初学者!非常感谢!!!
2 年多之前 回复
Small_Mouse0
小鼠标丶 main运行和tomcat上的项目运行不是一个平台
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
为什仫我使用servlet查询数据库得不到数据?
使用servlet查询数据库,得不到数据库的数据,我是用断点测试,直接执行request.getRequestDispatcher("/second.jsp").forward(request,response);语句,我用request.setAttribute("list",list);保存数据,在jsp文件用 List<Stu> list = (List<Stu>)request.getAttribute("list");时,等到list为null ``` protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8"); try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection connection = DriverManager.getConnection("jdbc:sqlserver://localhost:49680;DatabaseName=student", "sa", "123456"); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("select * from dbo.scores"); List<Stu> list = new ArrayList<Stu>(); while (resultSet.next()) { Stu stu = new Stu(); String sno = resultSet.getString("学号"); String sname = resultSet.getString("姓名"); String sex = resultSet.getString("性别"); int grade = resultSet.getInt("得分"); stu.setSno(sno); stu.setSname(sname); stu.setSex(sex); stu.setGrade(grade); list.add(stu); } request.setAttribute("list",list); PrintWriter out = response.getWriter(); out.println("ajiaaaaa"); int i =1; resultSet.close(); statement.close(); connection.close(); }catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e){ e.printStackTrace(); } request.getRequestDispatcher("/second.jsp").forward(request,response); } ```
请问怎么applet怎么通过servlet连接数据库
请问怎么applet怎么通过servlet连接数据库。请各位大侠给个例子学习一下。万分感谢!
封装连接数据库的代码。
package util; /* JDBC工具类: 所有的方法都是静态的,方便调用 */ import java.sql.*; public class JDBCUtils { private static Connection conn; Statement stmt = null; ResultSet rs = null; public static Connection getCon() { //数据库连接名称 String username = "user"; //数据库连接密码 String password = "password"; String driver = "driver"; //其中kaorou为数据库名称 String url = "url"; try { Class.forName(driver); conn = (Connection) DriverManager.getConnection(url, username, password); } catch (Exception e) { e.printStackTrace(); } return conn; } // public void closere(){ if (stmt != null){ try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } /* 资源文件 */ url=jdbc:mysql://kaorou user=root password=root driver=com.mysql.jdbc.Driver //执行类文件 package servlet; //一个包里的代码直接用,其他包里的如下: import util.JDBCUtils; import java.sql.*; public class a { private static int count; private Connection conn = null; private Statement stmt = null; public static void main(String[] args) throws SQLException { JDBCUtils jd = new JDBCUtils(); a zhu = new a(); zhu.ab(); jd.closere(); } public static void ab() throws SQLException { String sql = "update user set age = 15 where id = 1 "; //获取执行sql的对象Statement Connection conn = JDBCUtils.getCon(); Statement stmt = conn.createStatement(); int count = stmt.executeUpdate(sql);//影响行数 System.out.println(count); } } 报错: java.lang.ClassNotFoundException: driver at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at util.JDBCUtils.getCon(JDBCUtils.java:22) at servlet.a.ab(a.java:24) at servlet.a.main(a.java:17) Exception in thread "main" java.lang.NullPointerException at servlet.a.ab(a.java:25) at servlet.a.main(a.java:17) Process finished with exit code 1 //我太菜了,百度也实在解决不了,拜托各位大佬帮我解答一下,谢谢!
servlet查出数据库图片让页面显示的问题
各位CSDN的朋友,大家好。今天做一个用户头像的上传显示遇到了一个问题,在此想请教一下大家。 首先,servlet的到数据库的图片后,通过以下代码发到jsp中: ![图片说明](https://img-ask.csdn.net/upload/201710/21/1508553311_881890.jpg) 然后。jsp页面使用<img alt='头像' width='158px' height='188px' src='${pageContext.request.contextPath }/JsTxShowServlet?gonghao=102'> 来接收信息并显示图片。当然,图片也能正常显示,但如果jsp页面采用ajax向该servlet发请求,并将获得的响应信息直接赋值给src属性,显示的确实一窜乱码,即<img alt='头像' width='158px' height='188px' src=‘data’>,data为ajax的响应响应数据。 希望大家能讨论一下,共获提升,不胜感激!
利用ajax方法 通过servlet文件 访问数据库 获取提示。汉字无法匹配?
html文件利用ajax方法 通过servlet文件 访问数据库 获取提示。汉字无法匹配? Access数据库Goods表: [img]http://dl.iteye.com/upload/attachment/0082/7368/85a5bb45-b636-3bbf-aa6e-1f1b7ef4a570.png[/img] html文件suggest.html: <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script language="JavaScript" type="text/javascript" src="ajax_search.js"></script> <style type="text/css" media="screen"> body { font: 11px arial; } .suggest_link { background-color: #FFFFFF; padding: 2px 6px 2px 6px; cursor:hand; } .suggest_link_over { background-color: #E8F2FE; padding: 2px 6px 2px 6px; } #search_suggest { position:relative; background-color: #FFFFFF; text-align: left; border: 1px solid #000000; left: -12px; top: 1px; height: 74px; width: 170px; display:none; } </style> </head> <body background="bg.gif"> <center> <h3>实现搜索提示</h3> <div style="width: 500px;"> <input type="text" id="txtSearch" name="txtSearch" onKeyUp="searchSuggest();" autocomplete="off" /> <input type="submit" id="cmdSearch" name="cmdSearch" value="搜索"/><br /> <div id="search_suggest"></div> </div> </center> </body> </html> ajax_search.js: var searchReq = createAjaxObj(); function createAjaxObj() { var httprequest=false; if (window.XMLHttpRequest) //为非IE浏览器生成XmlHttpRequest对象 { httprequest=new XMLHttpRequest() if (httprequest.overrideMimeType) httprequest.overrideMimeType('text/xml') } else if (window.ActiveXObject) //为IE浏览器生成XmlHttpRequest对象 { try { httprequest=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { httprequest=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){} } } return httprequest } function searchSuggest() { if (searchReq.readyState == 4 || searchReq.readyState == 0) { var str = escape(document.getElementById('txtSearch').value); searchReq.open("GET", 'search?search=' + str, true);//向服务器端发送请求 searchReq.onreadystatechange = handleSearchSuggest; //设置回调函数 searchReq.send(null); } } function handleSearchSuggest() { //这是回调函数,处理从服务器端返回的信息 if (searchReq.readyState == 4) { var ss = document.getElementById('search_suggest') ss.innerHTML = ''; var str = searchReq.responseText.split("\n"); for(i=0; i < str.length - 1; i++) { var suggest = '<div onmouseover="javascript:suggestOver(this);" '; suggest += 'onmouseout="javascript:suggestOut(this);" '; suggest += 'onclick="javascript:setSearch(this.innerHTML);" '; suggest += 'class="suggest_link">' + str[i] + '</div>'; ss.innerHTML += suggest; ss.style.display="block"; } } } function suggestOver(div_value) { div_value.className = 'suggest_link_over'; } function suggestOut(div_value) { div_value.className = 'suggest_link'; } function setSearch(value) { document.getElementById('txtSearch').value = value; document.getElementById('search_suggest').innerHTML = ''; document.getElementById('search_suggest').style.display="none"; } servlet文件SearchSuggest.java: package com; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SearchSuggest extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { response.setCharacterEncoding("UTF-8"); String search = request.getParameter("search"); //接受参数值 String sql = "select GoodsName from Goods where GoodsName like '"+search+"%' order by GoodsName";//设置查询语句 Connection conn = null; Statement stmt = null; ResultSet rs = null; ArrayList vData = new ArrayList(); java.io.PrintWriter out = response.getWriter(); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //注册数据库连接驱动 String MdbPath = "F:/sneaker/Tomcat/webapps/search/database/#costume.mdb"; String url= "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + MdbPath ; conn = DriverManager.getConnection(url); stmt = conn.createStatement(); rs = stmt.executeQuery(sql); //执行查询 while (rs.next()) { vData.add(rs.getString("GoodsName")); } StringBuilder buf = new StringBuilder(); for (int i=0;i<vData.size();i++) { String keyword = (String)vData.get(i); buf.append(keyword+"\n"); } out.print(buf.toString());//向客户端输出信息 } catch (Exception e) { e.printStackTrace(); } finally { try { if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException sqle) { } } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { doPost(request, response); } } 效果当输入为空时,可以调出数据表中所有信息 汉字及数字正常显示: [img]http://dl.iteye.com/upload/attachment/0082/7376/1de0c6c5-0934-3f36-888a-af0bae38f84a.png[/img] 当输入数字7时,可以匹配: [img]http://dl.iteye.com/upload/attachment/0082/7378/967d1012-b3db-39e8-bd6f-7b0d5186e3c6.png[/img] 当输入汉字儿童 或 额 时,匹配信息没有显示,是因为所输入的汉字编码有误吗,没有传递或传递后编码不匹配吗?求解? [img]http://dl.iteye.com/upload/attachment/0082/7382/413d2446-1db1-344f-b7ba-0f834a0b72b0.png[/img] [img]http://dl.iteye.com/upload/attachment/0082/7393/4ebd495e-1501-3593-909a-3929ed218695.png[/img] Tomcat提示: [img]http://dl.iteye.com/upload/attachment/0082/7677/d874bf7e-8d11-3c25-866a-ad7f9c25ce19.gif[/img]
购物网页商品分类在产品详情中展现怎么做,用servlet,数据库,jsp.谢谢各位大神
一个商品分类表,一个产品详情表,商品分类表中添加的分类要在产品详情表中展示,数据库需要加外键吗?产品信息表 编号,名字,描述,价格,库存,分类ID,二级分类ID,文件名; 商品分类表 编号,名字,父类ID 其中商品分类表中添加的分类要在产品详情表中展示这个功能怎么实现?拜托各位大神了。
通过Servlet显示数据库中的数据,报404
``` public class userListServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ Model model=new Model(); List<User>list=model.userSelect(); request.getSession().setAttribute("list", list); response.sendRedirect("listUsers1.jsp"); } } Model中的userSelect()方法如下: public List<User> userSelect(){ List users=new ArrayList(); try{ conn=s.getConncetion(); String sql="select * from user"; stat=conn.createStatement(); rs=stat.executeQuery(sql); User user; while(rs.next()){ user=new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setPassword(rs.getString("password")); users.add(user); } s.closeAll(conn, stat, rs); }catch(SQLException e){ e.printStackTrace(); } return users; } listUsers1.jsp页面如下: <body> 数据库中所有用户: <table border="1"> <c:forEach items="${sessionScope.list }" var="user" varStatus="num"> <tr> <td>${user.id }</td> <td>${user.name }</td> <td>${user.password }</td> </tr> </c:forEach> </table> </body> web.xml配置如下: <servlet> <servlet-name>userListServlet</servlet-name> <servlet-class>control.userListServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>userListServlet</servlet-name> <url-pattern>/userListServlet</url-pattern> </servlet-mapping> ```
Jsp,Servlet向数据库添加数据出现中文乱码问题
Myeclipse向数据库添加数据时出现乱码,可是直接在数据库中添加数据并不会乱码,要怎么解决啊? 数据库是Access
在servlet类中如何通过ssh架构保存数据到数据库
在servlet类 如何使用ssh架构访问数据库 保存servlet中的数据
jsp求大神修改代码,servlet连数据库
package my.servlets; import java.io.*; import my.model.mess; import java.sql.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import db.DBConnAccess; /** * Servlet implementation class tt */ public class tt extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public tt() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub this.doPost(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String email=request.getParameter("email"); String login=request.getParameter("login"); String password=request.getParameter("password"); String confirmpass=request.getParameter("confirmpass"); //创建session周期的RegInfo对象存储出错的信息 mess regInfo=new mess(); HttpSession session=request.getSession(); session.setAttribute("regInfo",regInfo); PrintWriter out=response.getWriter(); if(email==null || login.equals("") || password==null || confirmpass.equals("")){ regInfo.setMess("不能为空!"); response.sendRedirect("signup.jsp"); return; } if(!password.equals(confirmpass)){ regInfo.setMess("两次输入的密码不一致!"); response.sendRedirect("signup.jsp"); return; } DBConnAccess DBConn=new DBConnAccess(); String dbpath = "test.mdb"; // Connection conn = DBConn.getConnToAccess(request.getSession().getServletContext().getRealPath(dbpath)); Statement stmt=null; ResultSet rs = null; try { stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); String sql = "insert into username(email,login,pwd)values('"+email+"','"+login+"','"+password+"')"; rs = stmt.executeQuery(sql); String selectsql="select *from username"; ResultSet rs1 = stmt.executeQuery(selectsql); while (rs1.next()) { out.println(rs.getString("login")); } } catch (Exception e) { // TODO Auto-generated catch block out.println(e); e.printStackTrace(); } DBConn.close(); //regInfo.setMess(""); //验证成功调用ProcessData对象的update方法将注册信息添加入数据库 //regInfo.setMess("注册成功,请重新登录!"); //response.sendRedirect("signin.jsp"); //RequestDispatcher requestDispatcher=request.getRequestDispatcher("signin.jsp"); //requestDispatcher.forward(request, response); } } 异常:java.sql.SQLException: No ResultSet was produced
myeclipse中写完的servlet无法对数据库进行增删改
![![图片说明](https://img-ask.csdn.net/upload/201710/06/1507258427_13719.png)图片说明](https://img-ask.csdn.net/upload/201710/06/1507258421_240992.png) 当我跳转到这个servlet时变成了一个空白网页,没有报错数据库也没有新加东西![图片说明](https://img-ask.csdn.net/upload/201710/06/1507258550_758574.png)
为什么servlet调用不到另一个servlet里面的变量
如题,为什么从一个servlet里面调不到另一个servlet里面的变量 ![图片说明](https://img-ask.csdn.net/upload/201704/05/1491361535_251881.png) 如图我想再另一个servlet里面调用thesql这个变量,我试过只有在定义为static的常亮时才能取到值
如何通过servlet传输数据,tomcat服务器连接到oracle数据库当中。
如何将服务器连接上本机的oracle数据库上啊?想将数据通过servlet存到数据库当中但是现在就是不会做,有没有视频地址啊?光看代码看不太懂
Servlet访问数据库报错500
这是网页提示的错误 HTTP Status 500 - 查询失败 -------------------------------------------------------------------------------- type Exception report message 查询失败 description The server encountered an internal error that prevented it from fulfilling this request. exception java.lang.RuntimeException: 查询失败 Dao.EmpDao.finAll(EmpDao.java:32) web.SqlServlet.service(SqlServlet.java:23) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver' org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1429) org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371) org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) util.DBUtil.getConnection(DBUtil.java:36) Dao.EmpDao.finAll(EmpDao.java:16) web.SqlServlet.service(SqlServlet.java:23) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1856) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1705) org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1420) org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371) org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) util.DBUtil.getConnection(DBUtil.java:36) Dao.EmpDao.finAll(EmpDao.java:16) web.SqlServlet.service(SqlServlet.java:23) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) note The full stack trace of the root cause is available in the Apache Tomcat/7.0.67 logs. 这是我的代码,我用测试代码访问数据库的时候,都没有问题,一旦用Servlet访问就出现500问题 package web; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import Dao.EmpDao; import entity.Emp; public class SqlServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); res.setContentType("text/html;charset=utf-8"); EmpDao dao = new EmpDao(); List<Emp> list = dao.finAll(); PrintWriter out = res.getWriter(); out.println("<table border='1px' cellspacing='0' width='40%'>"); out.println(" <tr>"); out.println(" <th>编号</th>"); out.println(" <th>姓名</th>"); out.println(" <th>职位</th>"); out.println(" <th>月薪</th>"); out.println(" </tr>"); for(Emp emp:list){ out.println("<tr>"); out.println(" <td>"+emp.getEmpno()+"</td>"); out.println(" <td>"+emp.getEname()+"</td>"); out.println(" <td>"+emp.getJob()+"</td>"); out.println(" <td>"+emp.getSal()+"</td>"); out.println("</tr>"); } out.println("</table>"); out.close(); } } 下面是dao包的代码package Dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import entity.Emp; import util.DBUtil; public class EmpDao { public List<Emp> finAll(){ Connection con = null; try { con=DBUtil.getConnection(); String sql = "select * from student"; PreparedStatement ps = con.prepareStatement(sql); List<Emp> list = new ArrayList<Emp>(); ResultSet rs = ps.executeQuery(); while(rs.next()){ Emp emp = new Emp(); emp.setEmpno(rs.getInt("empno")); emp.setEname(rs.getString("ename")); emp.setJob(rs.getString("job")); emp.setSal(rs.getDouble("sal")); list.add(emp); } return list; } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("查询失败",e); }finally{ DBUtil.close(con); } } } 请各位大神帮帮忙 谢谢
Servlet链接数据库不成功
![图片说明](https://img-ask.csdn.net/upload/201706/01/1496283619_380263.png) 这里是service.xml的配置部分 ``` <Resource name="jdbc/webdb" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://http://127.0.0.1:3306/webdb?characterEncoding=utf-8" username="root" password="" maxActive="200" maxIdle="50" maxWait="3000" /> ```
java 在PC端用什么方式重复的调用servlet
爸爸们好~ 请教一个问题: 现在对方提供一个servlet接口给我调用,然后返回数据给我入到数据库,我应该在PC端用什么样的方式,去调用, 部署一个web项目?一个JAVA 应用程序? 请大神将一下思路~
ajax如何获取servlet的数据
servlet已经取出了数据,显示在html上 servlet: public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Connection conn = DBConnectUtils.getConnection(); PreparedStatement pstmt = null; ResultSet rs = null; try { String sql = "select id,username from User"; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); if (rs != null) { while (rs.next()) { req.setAttribute("id", rs.getInt("id")); req.setAttribute("username", rs.getString("username")); req.getRequestDispatcher("showUser.html").forward(req, resp); } } } catch (Exception e) { e.printStackTrace(); } finally { DBCloseUtils.closeCSR(conn, pstmt, rs); } } ajax应该怎么写
在MVC模式下将浏览网页的用户信息写入后台数据库的处理流程问题
大家知道,在MVC模式下,是JSP-->SERVLET-->SERVICE-->DAO这种调用关系,就是说针对后台数据库的操作都是在DAO中实现。 有这样一个需求,用户用浏览器访问网页a.jsp,a.jsp非常简单,就是用户访问时显示个hello world,没有任何提交表单的操作。 现在需要获取访问页面的用户的两个信息,一个是IP,一个是user-agent,那么是不是我应该在a.jsp里调用SERVLET,在SERVLET中用request.getHeader之类的方法获得用户信息(IP和user-agent),然后通过调用SERVICE-->DAO来把用户信息写入数据库,写完数据库,SERVLET的任务就完成了,之后没有任何跳转之类的操作。 那么,这种没有提交表单的JSP里怎么调用SERVLET呢?是不是在a.jsp加载页面时用java script的onload中调用SERVLET呢? 总感觉上面的流程有点怪怪的感觉。。。。。 请大神指教,万分感谢!
servlet调用问题
我有一个servlet,我想通过JAVA类运行这个servlet。比如说地址是http://127.0.0.1:8080/test/testS 我写代码如下 try { URL url = new URL("http://127.0.0.1:8080/test/testS"); try { url.openConnection(); System.out.println("t"); } catch (IOException e) { e.printStackTrace(); } } catch (MalformedURLException e) { e.printStackTrace(); } 为何servlet没有运行?怎么才能通过java类启动这个servlet呢?求解。。
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
java中的Static、final、Static final各种用法
前言 对Static、final、Static final这几个关键词熟悉又陌生?想说却又不知怎么准确说出口?好的,本篇博客文章将简短概要出他们之间的各自的使用,希望各位要是被你的面试官问到了,也能从容的回答… static 加载:static在类加载时初始化(加载)完成 含义:Static意为静态的,但凡被static 修饰说明属于类,不属于类的对象。 可修饰:Static 可以修饰 内部类、方...
各大公司在GitHub上开源投入排名分析
基于GitHub的数据进行分析各个公司在开源上的投入排名
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
python学习方法总结(内附python全套学习资料)
不要再问我python好不好学了 我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包也没啥问题。。。。。所以python真的是想学就一定能学会的!!!! --------------------华丽的分割线-------------------------------- ...
Spring Boot 开发微信公众号后台
Hello 各位小伙伴,松哥今天要和大家聊一个有意思的话题,就是使用 Spring Boot 开发微信公众号后台。 很多小伙伴可能注意到松哥的个人网站(http://www.javaboy.org)前一阵子上线了一个公众号内回复口令解锁网站文章的功能,还有之前就有的公众号内回复口令获取超 2TB 免费视频教程的功能(免费视频教程),这两个都是松哥基于 Spring Boot 来做的,最近松哥打算通...
兼职程序员一般可以从什么平台接私活?
这个问题我进行了系统性的总结,以下将进行言简意赅的说明和渠道提供,希望对各位小猿/小媛们有帮助~ 根据我们的经验,程序员兼职主要分为三种:兼职职位众包、项目整包和自由职业者驻场。 所谓的兼职职位众包,指的是需求方这边有自有工程师配合,只需要某个职位的工程师开发某个模块的项目。比如开发一个 app,后端接口有人开发,但是缺少 iOS 前端开发工程师,那么他们就会发布一个职位招聘前端,来配合公司一...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
C++知识点 —— 整合(持续更新中)
本文记录自己在自学C++过程中不同于C的一些知识点,适合于有C语言基础的同学阅读。如果纰漏,欢迎回复指正 目录 第一部分 基础知识 一、HelloWorld与命名空间 二、引用和引用参数 2.1引用的定义 2.2 将引用用作函数参数 2.3 将引用用于类对象 2.4 引用和继承 2.5 何时使用引用参数 2.6 引用和指针的区别 三、内联函数 四、默认参数的...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
js知识点汇总
1.本门课的作用(JavaScript的作用)所有基于Web的程序开发基础 2.一种计算机客户端脚本语言,主要在Web浏览器解释执行。 3.浏览器中Javascript,用于与用户交互,以及实现页面中各种动态特效 4.在HTML文件中,任何JavaScript代码必须放到&lt;script&gt;标签中 5.把JavaScript代码放到外部文件中,在HTML代码中直接引入该文件(外部文...
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
Python实例大全(基于Python3.7.4)
博客说明: 这是自己写的有关python语言的一篇综合博客。 只作为知识广度和编程技巧学习,不过于追究学习深度,点到即止、会用即可。 主要是基础语句,如三大控制语句(顺序、分支、循环),随机数的生成,数据类型的区分和使用; 也会涉及常用的算法和数据结构,以及面试题相关经验; 主体部分是针对python的数据挖掘和数据分析,主要先攻爬虫方向:正则表达式匹配,常用数据清洗办法,scrapy及其他爬虫框架,数据存储方式及其实现; 最后还会粗略涉及人工智能领域,玩转大数据与云计算、进行相关的预测和分析。
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
论文读不懂怎么办?
王树义读完需要18分钟速读仅需6分钟悄悄告诉你几个窍门。1 痛苦做科研,不能不读论文。但是,我见过不少研究生,论文都读得愁眉苦脸的。这其中,自然有因为拖延的关系。例如教授布置了2周后讨论论文,你原本可以每天抽出时间,慢慢消化。可你非得拖到截止日期的前一天晚上才打开看,希望毕其功于一役……这显然是态度问题。但是,不可忽略的,有些同学,却真的不是态度问题,而是方法不当。他们喜欢跟论文死磕。读不懂,...
用Python解决数据结构与算法问题(三):线性数据结构之栈
python学习之路 - 从入门到精通到大师 文章目录[python学习之路 - 从入门到精通到大师](https://blog.csdn.net/TeFuirnever/article/details/90017382)〇、写在前面3.1.目标3.2.什么是线性数据结构3.3.什么是栈3.4.栈的抽象数据类型3.5.Python实现栈3.6.简单括号匹配3.7.符号匹配3.8.十进制转换成二进制...
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
Java面试官最爱问的volatile关键字
在Java的面试当中,面试官最爱问的就是volatile关键字相关的问题。经过多次面试之后,你是否思考过,为什么他们那么爱问volatile关键字相关的问题?而对于你,如果作为面试官,是否也会考虑采用volatile关键字作为切入点呢? 为什么爱问volatile关键字 爱问volatile关键字的面试官,大多数情况下都是有一定功底的,因为volatile作为切入点,往底层走可以切入Java内存模...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
【C++100问】深入理解理解顶层const和底层const
专栏C++学习笔记 声明 1)该文章整理自网上的大牛和相关专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。 3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。 4)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。大家都共享一点点,一起为...
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
《C++ Primer》学习笔记(五):循环、分支、跳转和异常处理语句
专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.csdn.net/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 《C++ Primer》习题参考答案:第5章 - 语句 文章目录专栏C++学习笔记语句1、...
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问