欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

打造校园新闻网站的第7步:发布新闻功能实现

最编程 2024-08-11 08:46:20
...
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>管理页面</title> <link href="style.css" type="text/css" rel="stylesheet" /> </head> <body> <% //支持中文编码 request.setCharacterEncoding("utf-8"); //获取表单输入的用户名 String inputUsername = request.getParameter("username"); //获取表单输入的密码 String inpputPassword = request.getParameter("password"); //如果没输入用户名密码,则跳转错误页 if (inputUsername == null || "".equals(inputUsername) || inpputPassword == null || "".equals(inpputPassword)) { request.getRequestDispatcher("error_nologin.jsp").forward(request, response); return; } //配置数据库 Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/schoolnews?useUnicode=true&characterEncoding=utf8"; String username = "root"; String password = "Easy@0122"; Connection conn = DriverManager.getConnection(url, username, password); //设置sql,查询是否存在用户名和密码都匹配的用户信息 String sql = "select * from user where username=? and password=?"; PreparedStatement st = conn.prepareStatement(sql);// 在此次传入,进行预编译 st.setString(1, inputUsername); st.setString(2, inpputPassword); //执行sql查询 ResultSet rs = st.executeQuery(); //如果查询结果不存在,则表示用户名密码错误,跳转到错误页 if (rs.next() == false) { request.getRequestDispatcher("error_nologin.jsp").forward(request, response); return; } %> <div class="header-bar"> <span class="header-title">SchoolNews--管理后台</span> <a class="header-button" href="#">欢迎您:<%=rs.getString("username")%></a> </div> <h1 class="article-title">发布新闻</h1> </body> </html> 3.2 添加发布新闻的表单 我们在body区域添加表单,以便让管理员输入新闻的标题、内容等信息。 当我们点击提交时,会把内容提交给publish.jsp页面,同时类型、标题、时间、内容等信息会按照指定的name属性传递给publish.jsp页面。 <h1 class="article-title">发布新闻</h1> <form action="publish.jsp" method="post"> <div> 类型:<input name="type" type="text" /> </div> <div> 标题:<input name="title" type="text" /> </div> <div> 时间:<input name="time" type="date" /> </div> <div> 内容:<br> <textarea name="content" rows="10" cols="100"> </textarea> </div> <div> <input type="submit" value="提交"> </div> </form> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3.3 开发publish.jsp页面 我们在publish.jsp页面接受admin.jsp提交的表单信息,然后插入数据库,并显示发布成功提示信息。 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>管理页面</title> <link href="style.css" type="text/css" rel="stylesheet" /> </head> <body> <% // 设置中文编码 request.setCharacterEncoding("utf-8"); // 连接数据库 Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/schoolnews?useUnicode=true&characterEncoding=utf8"; String username = "root"; String password = "Easy@0122"; Connection conn = DriverManager.getConnection(url, username, password); // 准备执行插入sql语句 String sql = "insert into news(type,title,time,content)values(?,?,?,?)"; PreparedStatement st = conn.prepareStatement(sql);// 在此次传入,进行预编译 // 将表单传递过来的数据,放入sql语句指定位置 st.setString(1, request.getParameter("type")); st.setString(2, request.getParameter("title")); st.setString(3, request.getParameter("time")); st.setString(4, request.getParameter("content")); // 执行sql st.execute(); %> <div class="header-bar"> <span class="header-title">SchoolNews--管理后台</span> </div> <h1>发布成功</h1> </body> </html>