Content

jsp实现textarea中的文字保存换行空格存到数据库的方法

文章摘要

这篇文章描述了一个Java后端Servlet类,用于接收用户提交的新闻信息,并通过 JDBC 连接到 MySQL 数据库中存储。主要功能包括: 1. `turn()` 方法用于处理输入字符串,将换行符和空格分别替换为 HTML 格式的 `<br>` 和 `nbsp` 标签,确保信息在网页中显示良好。 2. 服务器端接收用户提交的新闻标题、作者、文章名称、日期等字段。 3. 使用 JDBC 连接到 MySQL 数据库,构造 SQL 语句,将新闻信息插入数据库中的 `news` 表中,字段包括 `id`、`title`、`author`、`article` 和 `date`。 4. 代码中包含对 JDBC 连接的处理,以及对 SQLException的捕获和处理。 文章重点突出了新闻上传、数据库操作以及相关的处理逻辑,适合需要了解后端处理流程的读者。建议进一步优化代码,例如使用 JDBC 连接池管理数据库连接,增加事务处理,以及完善错误处理机制。

 <%@page import=”java.io.PrintWriter”%> <%@page import=”java.net.URLDecoder”%> <%@ page language=”java” contentType=”text/html; charset=utf-8″ pageEncoding=”utf-8″ %> <%@ page import=”java.sql.*” %> <!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; utf-8″> <title>上传新闻</title> </head> <body> <%! // 字符处理函数 换行符变成<br> public String turn(String str) { while (str.indexOf(“\n”) !=-1) { str=str.substring(0, str.indexOf(“\n”)) + “<br>” + str.substring(str.indexOf(“\n”) + 1); } while (str.indexOf(” “) !=-1) { str=str.substring(0, str.indexOf(” “)) + ” ” + str.substring(str.indexOf(” “) + 1); } return str; } %> <% try { request.setCharacterEncoding(“utf-8”); String title=request.getParameter(“title”); String author=request.getParameter(“author”); String article=request.getParameter(“articleName”); String articlebr=turn(article); String date=request.getParameter(“date”); String driverClass=”com.mysql.jdbc.Driver”; String url=”jdbc:mysql:/****?characterEncoding=utf8″;//存到数据库不会乱码 String user=”***”; String password=”****”; Connection conn; int i=0; Class.forName(driverClass).newInstance(); conn=DriverManager.getConnection(url,user,password); String sql=”insert into news (id,title,author,article,date) ” + “values(?,?,?,?,?)”; Connection conn1=DriverManager.getConnection(url, user, password); PreparedStatement pstmt; pstmt=(PreparedStatement) conn1.prepareStatement(sql); pstmt.setString(1, null); pstmt.setString(2, title); pstmt.setString(3, author); pstmt.setString(4, articlebr); pstmt.setString(5, date); i=pstmt.executeUpdate(); conn1.close(); pstmt.close(); out.println(“<br>上传成功”); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } %> </body> </html>