学生信息系统(二)
- jsp从数据库获取数据显示到表格中出现中文乱码
出现的问题:
点击显示所有学生列表出现中乱码
经检查测试发现并不是编码问题
解决方法
删除图中划线代码
添加学生页面(add.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>添加学生页面</title>
</head>
<body>
<h3>添加学生页面</h3>
<form method="post" action="AddServlet">
<table border="1" width="600">
<tr>
<td>姓名</td>
<td ><input type="text" name="sname"></td>
</tr>
<tr>
<td>性别</td>
<td >
<input type="radio" name="gender" value="男">男
<input type="radio" name="gender" value="女">女
</td>
</tr>
<tr>
<td>电话</td>
<td ><input type="text" name="phone"></td>
</tr>
<tr>
<td>生日</td>
<td ><input type="text" name="birthday"></td>
</tr>
<tr>
<td>爱好</td>
<td >
<input type="checkbox" name="hobby" value="游泳">游泳
<input type="checkbox" name="hobby" value="篮球">篮球
<input type="checkbox" name="hobby" value="足球">足球
<input type="checkbox" name="hobby" value="看书">看书
<input type="checkbox" name="hobby" value="听音乐">听音乐
</td>
</tr>
<tr>
<td>简介</td>
<td><textarea name="info" rows="3" cols="20"></textarea></td>
</tr>
<td colspan="2"><input type="submit" value="添加"></td>
<tr>
</tr>
</table>
</form>
</body>
</html>
- AddService.java
package e.servlet;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.corba.se.spi.activation.Server;
import e.domain.Student;
import e.service.StudentService;
import e.service.impl.StudentServiceImpl;
/**
* Servlet implementation class AddServlet
*/
public class AddServlet extends HttpServlet {
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
request.setCharacterEncoding("UTF-8");
//1.获取客户端提交上来的数据
String name=request.getParameter("sname");
String gender=request.getParameter("gender");
String phone=request.getParameter("phone");
String birthday=request.getParameter("birthday");
String hobby=request.getParameter("hobby");
String info=request.getParameter("info");
//2.添加到数据库
//String ---date
Date date= new SimpleDateFormat("yyyy-MM-dd").parse(birthday);
Student student = new Student(name, gender, phone, hobby,date, info);
StudentService service=new StudentServiceImpl();
service.insert(student);
//3.跳转到列表页
request.getRequestDispatcher("StudentServlet").forward(request, response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
爱好不止只有一个
修改为
String name=request.getParameter("sname");
String gender=request.getParameter("gender");
String phone=request.getParameter("phone");
String birthday=request.getParameter("birthday");
//String hobby=request.getParameter("hobby");
String info=request.getParameter("info");
String [] h=request.getParameterValues("hobby");
String hobby=Arrays.toString(h);
hobby=hobby.substring(1, hobby.length()-1);