学习日志——2019/08/10

本文详细介绍了在学生信息系统中使用JSP从数据库获取数据显示到表格时遇到的中文乱码问题及其解决方案。通过调整编码设置和修改相关代码,成功解决了乱码问题,确保了学生信息的正确显示。

学生信息系统(二)

  • 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);			
			
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值