界面有点粗糙,变量名称在这个过程中变得混乱,一切似乎都很好但是当我尝试实际使用这个时我只得到一个空白页面而我无法理解它,这是我的代码:
html中的索引:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Escuela</title>
</head>
<body>
<div id="section">
<h1>Busqueda de clientes</h1>
<p><form action="./ConexionAlumnos" method="post">
nombre: <input type="text" id="nombre" name="nombre" />
<input type="submit" />
</form></p>
</div>
</body>
</html>
这是web.xml:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"
metadata-complete="true">
<display-name>
Aplicacion para escuela
</display-name>
<description>
Trae los alugnos de la base
</description>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<servlet>
<servlet-name>
ConexionAlumnos
</servlet-name>
<servlet-class>
ConexionAlumnos
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
ConexionAlumnos
</servlet-name>
<url-pattern>
/ConexionAlumnos
</url-pattern>
</servlet-mapping>
</web-app>
我的.JSP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Escuela</title>
</head>
<body>
<h1>Busqueda de clientes</h1>
<table border="1">
<tr>
<th>ID Cliente</th>
<th>Nombre</th>
<th>Direccion</th>
<th>tamanio</th>
<th>Id Ruta de Reparto</th>
<th>Descuento</th>
</tr>
<c:forEach items="${requestScope.clientes}" var="al">
<tr>
<td>
<c:out value="${al.idCliente}" />
<br />
</td>
<td>
<c:out value="${al.nombre}" />
<br />
</td>
<td>
<c:out value="${al.direccion}" />
<br />
</td>
<td>
<c:out value="${al.tamanio}" />
<br />
</td>
<td>
<c:out value="${al.id_reparto}" />
<br />
</td>
<td>
<c:out value="${al.descuento}" />
<br />
</td>
</tr>
</c:forEach>
</table>
<br />
<a href="./index.html">Regresar</a>
</body>
</html>
最后我的serlvet .java:
import java.io.*;
import java.sql.*;
import java.util.Vector;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.swing.JOptionPane;
public class ConexionAlumnos extends HttpServlet{
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
doPost(request, response);
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response){
// TODO Auto-generated method stub
String base = "polanco";
String usuario = "usuario";
String password = "admin";
Connection con = null;
Statement stat = null;
ResultSet res = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:8080/"+base;
System.out.println(url);
con = DriverManager.getConnection(url,usuario,password);
stat = con.createStatement();
String sql = "SELECT * FROM clientes;";
String nombre = JOptionPane.showInputDialog("dame un nombre para buscar");
if(!nombre.equals("")){
sql = "SELECT * FROM clientes WHERE nombre=\"" + nombre + "\";";
}
res = stat.executeQuery(sql);
Vector<Clientes> clientes = new Vector<Clientes>();
while(res.next()){
Clientes aux = new Clientes();
aux.setIdClientes(res.getInt("idClientes"));
aux.setNombre(res.getString("nombre"));
aux.setDireccion(res.getString("direccion"));
aux.setTamanio(res.getString("tamanio"));
aux.setDireccion(res.getString("direccion"));
aux.setId_repartos(res.getInt("id_repartos"));
aux.setDescuento(res.getDouble("descuento"));
clientes.add(aux);
}
stat.close();
con.close();
request.setAttribute("clientes",clientes);
RequestDispatcher disp = getServletContext().getRequestDispatcher("/procesa.jsp");
if(disp!=null){
disp.forward(request,response);
}
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
public void Get(HttpServletRequest request, HttpServletResponse response){
// TODO Auto-generated method stub
String base = "polanco";
String usuario = "usuario";
String password = "admin";
Connection con = null;
Statement stat = null;
ResultSet res = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:8080/"+base;
System.out.println(url);
con = DriverManager.getConnection(url,usuario,password);
stat = con.createStatement();
String sql = "SELECT * FROM clientes;";
String nombre = JOptionPane.showInputDialog("dame un nombre para buscar");
if(!nombre.equals("")){
sql = "SELECT * FROM clientes WHERE nombre=\"" + nombre + "\";";
}
res = stat.executeQuery(sql);
Vector<Clientes> clientes = new Vector<Clientes>();
while(res.next()){
Clientes aux = new Clientes();
aux.setIdClientes(res.getInt("idClientes"));
aux.setNombre(res.getString("nombre"));
aux.setDireccion(res.getString("direccion"));
aux.setTamanio(res.getString("tamanio"));
aux.setDireccion(res.getString("direccion"));
aux.setId_repartos(res.getInt("id_repartos"));
aux.setDescuento(res.getDouble("descuento"));
clientes.add(aux);
}
stat.close();
con.close();
request.setAttribute("clientes",clientes);
RequestDispatcher disp = getServletContext().getRequestDispatcher("/procesa.jsp");
if(disp!=null){
disp.forward(request,response);
}
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
创建所需的类,与数据库的连接具有正确的凭据,当我运行它时,所有似乎都工作正常,直到我发送&#34;表格&#34;从网页上得到的回报是一个空白页面,没有任何HTML或错误信息。