为了账号安全,请及时绑定邮箱和手机立即绑定

编译器未报错,command,description列内容全是问号

http://img1.sycdn.imooc.com//58aaa5640001c58c13440392.jpg

这是servlet:

package servlet;


import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

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 org.apache.catalina.valves.JDBCAccessLogValve;


import dblink.DBHelper;


import beans.Message;



/**

 * 

 * 列表页面初始化控制

 *

 */

@SuppressWarnings("serial")

public class ListServlet extends HttpServlet{

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

try {

new DBHelper();

Connection conn=DBHelper.getConnection();

String sql="select ID,COMMAND,DESCRIPTION,CONTENT from message";

PreparedStatement statement=conn.prepareStatement(sql);

ResultSet rs=statement.executeQuery();

List<Message> messagelist=new ArrayList<Message>();

while(rs.next()){

Message message=new Message();

message.setId(rs.getString("ID"));

message.setCommand(rs.getString("COMMAND"));

message.setDescription(rs.getString("DESCRIPTION"));

message.setContent(rs.getString("CONTENT"));

messagelist.add(message);

}

req.setAttribute("messagelist",messagelist);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

req.getRequestDispatcher("/WEB-INF/jsp/back/list.jsp").forward(req, resp);

}

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

this.doGet(req, resp);

}

}

这是list.jsp:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<meta http-equiv="X-UA-Compatible"content="IE=9; IE=8; IE=7; IE=EDGE" />

<title>内容列表页面</title>

<link href="<%= basePath %>resources/css/all.css" rel="stylesheet" type="text/css" />

</head>

<body style="background: #e1e9eb;">

<form action="" id="mainForm" method="post">

<div class="right">

<div class="current">当前位置:<a href="javascript:void(0)" style="color:#6E6E6E;">内容管理</a> &gt; 内容列表</div>

<div class="rightCont">

<p class="g_title fix">内容列表 <a class="btn03" href="#">新 增</a>&nbsp;&nbsp;&nbsp;&nbsp;<a class="btn03" href="#">删 除</a></p>

<table class="tab1">

<tbody>

<tr>

<td width="90" align="right">演示字段1:</td>

<td>

<input type="text" class="allInput" value=""/>

</td>

<td width="90" align="right">演示字段2:</td>

<td>

<input type="text" class="allInput" value=""/>

</td>

                           <td width="85" align="right"><input type="submit" class="tabSub" value="查 询" /></td>

      </tr>

</tbody>

</table>

<div class="zixun fix">

<table class="tab2" width="100%">

<tbody>

<tr>

   <th><input type="checkbox" id="all" onclick=""/></th>

   <th>序号</th>

   <th>指令名称</th>

   <th>描述</th>

   <th>操作</th>

</tr>

<c:forEach items="${messagelist}" var="message" varStatus="status">

<tr <c:if test="${status.index%2 != 0 }">style="background-color:#ECF6EE;"</c:if>>

<td><input type="checkbox" /></td>

<td>${status.index+1 }</td>

<td>${message.command}</td>

<td>${message.description}</td>

<td>

<a href="#">修改</a>&nbsp;&nbsp;&nbsp;

<a href="#">删除</a>

</td>

</tr>

</c:forEach>

</tbody>

</table>

<div class='page fix'>

共 <b>4</b> 条

<a href='###' class='first'>首页</a>

<a href='###' class='pre'>上一页</a>

当前第<span>1/1</span>页

<a href='###' class='next'>下一页</a>

<a href='###' class='last'>末页</a>

跳至&nbsp;<input type='text' value='1' class='allInput w28' />&nbsp;页&nbsp;

<a href='###' class='go'>GO</a>

</div>

</div>

</div>

</div>

   </form>

</body>

</html>

这是数据库连接工具类:

package dblink;


import java.sql.Connection;

import java.sql.DriverManager;


public class DBHelper {

   

private static final String DRIVER = "com.mysql.jdbc.Driver"; 

private static final String URL="jdbc:mysql://localhost:3306/we_chart?useUnicode=true&characterEncoding=UTF-8"; 

private static final String USERNAME="root";

private static final String PASSWORD="490321";//

    

private static Connection conn=null;

//获得驱动

static 

{

try

{

Class.forName(DRIVER);

}

catch(Exception ex)

{

ex.printStackTrace();

}

}


public static Connection getConnection() throws Exception

{

if(conn==null)

{

conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);

return conn;

}

return conn;

}

}


正在回答

3 回答

我知道了跟着老师把.html改成.jsp
但是没有加
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>

2 回复 有任何疑惑可以回复我~

控制台有没有报错?(数据库能连接上吗)

jsp打印输出一下看能不能获取到messageList具体的值。

代码看不出有什么问题

0 回复 有任何疑惑可以回复我~
#1

来个不被占用的昵称

楼上说的有道理,在servlet的doGet()加上req.setCharacterEncoding("utf-8")
2017-02-20 回复 有任何疑惑可以回复我~
#2

kenny5730 提问者

控制台没有报错,SQL语句在数据库试过了没问题
2017-02-21 回复 有任何疑惑可以回复我~

加上req.setEncoding(utf-8)

0 回复 有任何疑惑可以回复我~
#1

qq__3590

不对,是req.setCharacterEncoding("utf-8")
2017-02-20 回复 有任何疑惑可以回复我~
#2

kenny5730 提问者 回复 qq__3590

加了以后还是老样子
2017-02-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

编译器未报错,command,description列内容全是问号

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信