准备JAR
项目结构
代码展示
利用JSON进行数据传输,将后台查询数据库的结果展示到前端页面。 index.jsp代码展示:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
< html>
< head>
< title> 查询学生</ title>
< script type = " text/javascript" >
function queryInfo ( ) {
var xmlHttp = new XMLHttpRequest ( ) ;
xmlHttp. open ( "get" , "queryStu" , true ) ;
xmlHttp. send ( ) ;
xmlHttp. onreadystatechange = function ( ) {
if ( xmlHttp. readyState == 4 && xmlHttp. status == 200 ) {
var result = xmlHttp. responseText;
eval ( "var info=" + result) ;
var tb = document. getElementById ( "tb" ) ;
for ( var i = 0 ; i < info. length; i++ ) {
tb. innerHTML += "<tr>" +
"<td>" + info[ i] . stuNo+ "</td>" +
"<td>" + info[ i] . stuName+ "</td>" +
"<td>" + info[ i] . stuSex+ "</td>" +
"<td>" + info[ i] . stuAge+ "</td>" +
"</tr>" ;
}
}
}
}
</ script>
</ head>
< body>
< input type = " button" value = " 查询全部" onclick = " queryInfo()" >
< br> < br>
< hr>
< table border = " 1px" cellspacing = " 0px" cellpadding = " 10px" >
< thead>
< tr>
< td> 学号</ td>
< td> 姓名</ td>
< td> 性别</ td>
< td> 年龄</ td>
</ tr>
</ thead>
< tbody id = " tb" >
</ tbody>
</ table>
</ body>
</ html>
package indi. dsl. servlet ;
import com. google. gson. Gson ;
import indi. dsl. entry. Student ;
import indi. dsl. service. Query ;
import indi. dsl. service. QueryImpl ;
import javax. jws. WebService ;
import javax. servlet. ServletException ;
import javax. servlet. annotation. WebServlet ;
import javax. servlet. http. HttpServlet ;
import javax. servlet. http. HttpServletRequest ;
import javax. servlet. http. HttpServletResponse ;
import java. io. IOException ;
import java. util. List ;
@WebServlet ( "/queryStu" )
public class MyServlet extends HttpServlet {
Query service = new QueryImpl ( ) ;
@Override
protected void service ( HttpServletRequest req, HttpServletResponse resp) throws ServletException , IOException {
req. setCharacterEncoding ( "UTF-8" ) ;
resp. setCharacterEncoding ( "UTF-8" ) ;
resp. setContentType ( "text/html,charset=utf-8" ) ;
try {
List < Student > list = service. query ( ) ;
for ( Student stu : list) {
System . out. println ( stu. getStuNo ( ) + "," + stu. getStuName ( ) ) ;
}
resp. getWriter ( ) . write ( new Gson ( ) . toJson ( list) ) ;
} catch ( Exception e) {
e. printStackTrace ( ) ;
}
}
}
package indi. dsl. service ;
import indi. dsl. dao. QueryStudent ;
import indi. dsl. dao. QueryStudentImpl ;
import indi. dsl. entry. Student ;
import java. util. List ;
public class QueryImpl implements Query {
QueryStudent queryStudent = new QueryStudentImpl ( ) ;
@Override
public List < Student > query ( ) throws Exception {
return queryStudent. queryStudent ( ) ;
}
}
package indi. dsl. dao ;
import indi. dsl. entry. Student ;
import java. sql. Connection ;
import java. sql. DriverManager ;
import java. sql. PreparedStatement ;
import java. sql. ResultSet ;
import java. util. ArrayList ;
import java. util. List ;
public class QueryStudentImpl implements QueryStudent {
@Override
public List < Student > queryStudent ( ) throws Exception {
List < Student > list = new ArrayList < > ( ) ;
Class . forName ( "oracle.jdbc.driver.OracleDriver" ) ;
Connection con = DriverManager . getConnection ( "jdbc:oracle:thin:@127.0.0.1:1521:orcl" , "scott" , "root" ) ;
String sql = "select * from student" ;
PreparedStatement pre = con. prepareStatement ( sql) ;
ResultSet resultSet = pre. executeQuery ( ) ;
while ( resultSet. next ( ) ) {
Student stu = new Student ( ) ;
stu. setStuNo ( resultSet. getInt ( "stuNo" ) ) ;
stu. setStuName ( resultSet. getString ( "stuName" ) ) ;
stu. setStuSex ( resultSet. getString ( "stuSex" ) ) ;
stu. setStuAge ( resultSet. getInt ( "stuAge" ) ) ;
list. add ( stu) ;
}
return list;
}
}
<?xml version="1.0" encoding="UTF-8"?>
< web-app xmlns = " http://xmlns.jcp.org/xml/ns/javaee"
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_4_0.xsd"
version = " 4.0" >
< servlet>
< servlet-name> queryStu</ servlet-name>
< servlet-class> indi.dsl.servlet.MyServlet</ servlet-class>
</ servlet>
< servlet-mapping>
< servlet-name> queryStu</ servlet-name>
< url-pattern> /</ url-pattern>
</ servlet-mapping>
</ web-app>
结果展示: