老师,乱码问题,改了半天也不行。麻烦老师帮看下
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="/JDBCAndJSP/add" method="get"> <h2>课程添加</h2> <table> <tr> <td>课程名称:<input type="text" name="name"></td> </tr> <tr> <td>所属方向:<input type="text" name="category"></td> </tr> <tr> <td>课程描述:<input type="text" name="scrp"></td> </tr> <tr><td><input type="submit" value="添加"></td></tr> </table> </form> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <table> <tr> <td style="font-size:30px">课程名称</td> <td style="font-size:30px">所属方向</td> <td style="font-size:30px">课程描述</td> <td style="font-size:30px">创建时间</td> </tr> <c:forEach var="course" items="${courses }" varStatus="ind"> <tr> <td>${course.name }</td> <td>${course.category }</td> <td>${course.desp }</td> <td><fmt:formatDate value="${course.createTime }" pattern="hh小时mm分钟ss秒"></fmt:formatDate></td> </tr> </c:forEach> </table> </body> </html>
package com.imooc.servlet; import java.io.IOException; import java.sql.Connection; import java.sql.Date; import java.sql.PreparedStatement; 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 Utils.JDBCUtials; import dto.Dto; /** * Servlet implementation class addServlet */ @WebServlet("/add") public class addServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public addServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("name"); String category = request.getParameter("category"); String desp = request.getParameter("scrp"); System.out.println(name); System.out.println(category); System.out.println(desp); Dto dto = new Dto(); boolean flag = dto.add(name, category, desp); if (flag) { response.sendRedirect("/JDBCAndJSP/show"); } else { System.out.println("添加失败了"); } } /** * @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); } }
package com.imooc.servlet; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletContext; 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 dto.Dto; import entity.Course; /** * Servlet implementation class ShowServlet */ @WebServlet("/show") public class ShowServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ShowServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html; charset=utf-8"); ServletContext context = request.getServletContext(); if (context.getAttribute("courses") == null) { Dto dto = new Dto(); List<Course>courses = new ArrayList<>(); courses = dto.show(); for (Course c : courses) { System.out.println(c.getId()); System.out.println(c.getName()); System.out.println(c.getCategory()); System.out.println(c.getCreateTime()); System.out.println(c.getDesp()); } context.setAttribute("courses", courses); } request.getRequestDispatcher("showCourse.jsp").forward(request, response); } /** * @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); } }
下边是工具类
package jdbcutils; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class JDBCUtils { private static final String driver; private static final String url; private static final String user; private static final String password; static { Properties prop = new Properties(); try { InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("driver.properties"); prop.load(is); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } driver=prop.getProperty("driver"); url = prop.getProperty("url"); user = prop.getProperty("username"); password = prop.getProperty("password"); } //注册驱动 public static void driverLoad() throws ClassNotFoundException { Class.forName(driver); } //获取连接 public static Connection getConnection (Connection conn) throws Exception { driverLoad(); conn = DriverManager.getConnection(url, user, password); return conn; } //释放资源 public static void release(Connection conn, Statement stmt) { if (conn != null) { try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } conn = null; if (stmt != null) { try { stmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }; } stmt = null; } public static void release(Connection conn, Statement stmt, ResultSet rs) { if (conn != null) { try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } conn = null; if (stmt != null) { try { stmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }; } stmt = null; if (rs != null) { try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } rs = null; } }
下边是工具类的配置文件driver.properties
root=root password=123456 url=jdbc:mysql://127.0.0.1:3306/jdbcdemo?useSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf-8 driver=com.mysql.cj.jdbc.Driver
下边是course类
package entity; import java.util.Date; public class Course { private Integer id; private String name; private String category; private String desp; private Date createTime; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public String getDesp() { return desp; } public void setDesp(String desp) { this.desp = desp; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Course(Integer id, String name, String category, String desp, Date createTime) { super(); this.id = id; this.name = name; this.category = category; this.desp = desp; this.createTime = createTime; } public Course() { } }
我是tomcat7 我把tomcat/conf/server.xml文件尾部也加上了URIEncoding="UTF-8"
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
但是还是不行
0
收起
正在回答 回答被采纳积分+1
2回答
相似问题
登录后可查看更多问答,登录/注册
Java数据库开发与实战应用2018版
- 参与学习 人
- 提交作业 277 份
- 解答问题 4297 个
Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星