当前位置: 首页 > news >正文

建设网站专栏网站开发工作方向

建设网站专栏,网站开发工作方向,吉林省最新消息今天新增,举报网站建设情况总结2. 后端服务器部分 2.1 服务器分析 2.2 代码编写 2.2.2 前端发起一个ajax请求 2.2.3 服务器读取上述请求,并计算出响应 服务器需要使用 jackson 读取到前端这里的数据,并且进行解析#xff1a; 代码运行图#xff1a; 2.2.4 回到前端代码#xff0c;处理服务器返回的响应…2. 后端服务器部分 2.1 服务器分析 2.2 代码编写 2.2.2 前端发起一个ajax请求 2.2.3 服务器读取上述请求,并计算出响应 服务器需要使用 jackson 读取到前端这里的数据,并且进行解析 代码运行图 2.2.4 回到前端代码处理服务器返回的响应 1、对服务器的响应做出反应 此处 success 回调函数,不是立即执行的而是在浏览器收到服务器返回的成功这样的响应的时候才会执行到 function这个函数的第一个参数,就是响应数据的 body 中的内容如下所示 为了和请求对应上一般服务器返回的数据也会按照 json 格式来组织代码如下所示 当前浏览器和服务器所实现的效果如下 服务器收到的请求 浏览器收到的响应 当前数据已经被提交到服务器保存了目前还需要能够把服务器的数据拿回到客户端页面上并显示 2、把服务器的数据拿回到客户端页面上,并显示 至于为啥还要从服务器拿消息 1、当前页面上显示的数据也是在浏览器内存中保存的刷新页面/关闭了重新打开,之前的数据就没了 2、其他的客户端打开页面也是有数据的. 编写代码步骤如下 1)客户端在页面加载的时候,发起一个 http 请求 $.ajax({type: get, url: message,success: function(body) { //处理服务器返回来的数据使用json格式的数组}); 2)服务器收到这个请求,要处理这个请求并生成响应,         服务器收到的每条消息,都转成了 Message 对象,放到上述 List 中了返回的结果, 也就是这个 List 的数据.需要把 List 里的每个 Message 取出来, 转成json 字符串,最终拼到一起,得到了响应结果 注意jackson 本身就支持把 List 类型的数据转成json 数组         jackson 看到了 messagelist 是一个 List 类型转成的json 字符串就是一个json 数组 jackson 自动遍历 List 里的每个元素把每个元素,分别都转成 json 字符串         这一部分代码如下 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 通过这个方法来处理当前获取消息列表的 get 请求. 不需要解析参数, 直接返回数据即可.resp.setStatus(200);resp.setContentType(application/json; charsetutf8);// 从数据库查询ListMessage messageList null;try {messageList load();} catch (SQLException e) {throw new RuntimeException(e);}String respJson objectMapper.writeValueAsString(messageList);resp.getWriter().write(respJson);}         确保这几个代码的执行顺序         setStatus 和 setContentType 必须在 getWriter 前面否则可能不会生效(构造出一个非法的 http 响应报文) 3)、客户端收到响应,就需要针对响应数据进行解析处理把响应中的信息,构造成页面元素,并显示出来.         上图中body 就是服务器返回的响应即数据中 json 格式的数组当响应中, header 带有 Content-Type: application/isonjquery 就会自动的把 json字符串, 解析成js 对象了。         如果没有带 Content-Type: application/json就需要通过js 代码 JSON.parse 方法来手动把 json 字符申转成js 对象         我们要构造的内容如下图所示         将构造出来的上面的这个 div,添加到下面这个 div 的末尾         html页面上的任何一个元素,都可以用一个js 对象来表示反之,js 的对象也可以设置到页面中 3. 把数据存储到数据库中 数据库引入到代码中主要有一下几个步骤 1)、引入数据库的依赖 !-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.47/version/dependency 2)、建库建表.建库建表需要用到 sql; 3)、编写数据库代码---JDBC 后端代码如下所示 import com.fasterxml.jackson.databind.ObjectMapper; import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;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 javax.sql.DataSource; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;class Message {public String from;public String to;public String message;Overridepublic String toString() {return Message{ from from \ , to to \ , message message \ };} }WebServlet(/message) public class MessageServlet extends HttpServlet {private ObjectMapper objectMapper new ObjectMapper();// 引入数据库, 此时 messageList 就不再需要了.// private ListMessage messageList new ArrayList();private DataSource dataSource new MysqlDataSource();Overridepublic void init() throws ServletException {// 1. 创建数据源((MysqlDataSource) dataSource).setUrl(jdbc:mysql://127.0.0.1:3306/message_wall?characterEncodingutf8useSSLfalse);((MysqlDataSource) dataSource).setUser(root);((MysqlDataSource) dataSource).setPassword(111111);}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 读取前端发来的数据, 把这个数据保存到服务器这边.Message message objectMapper.readValue(req.getInputStream(), Message.class);System.out.println(请求中收到的 message: message);// 最简单的办法, 直接在内存中保存. 可以使用一个集合类, 把所有收到的 message 都存到内存中.// 很明显, 保存到内存, 并非是一个非常合理的办法. 后续一旦重启服务器, 数据丢失了.// 相比之下, 把这个数据持久化存储到数据库中, 更科学的.// messageList.add(message);// 插入数据库try {save(message);} catch (SQLException e) {throw new RuntimeException(e);}// 返回一个响应resp.setStatus(200);resp.getWriter().write(ok);// resp.setContentType(application/json);// resp.getWriter().write({ ok: true });}Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 通过这个方法来处理当前获取消息列表的 get 请求. 不需要解析参数, 直接返回数据即可.resp.setStatus(200);resp.setContentType(application/json; charsetutf8);// 从数据库查询ListMessage messageList null;try {messageList load();} catch (SQLException e) {throw new RuntimeException(e);}String respJson objectMapper.writeValueAsString(messageList);resp.getWriter().write(respJson);}private void save(Message message) throws SQLException {// 通过这个方法把 message 插入到数据库中// 1. 建立连接Connection connection dataSource.getConnection();// 2. 构造 SQLString sql insert into message values(?, ?, ?);PreparedStatement statement connection.prepareStatement(sql);statement.setString(1, message.from);statement.setString(2, message.to);statement.setString(3, message.message);// 3. 执行 SQLstatement.executeUpdate();// 4. 回收资源statement.close();connection.close();}private ListMessage load() throws SQLException {// 通过这个方法从数据库读取到 message.// 1. 建立连接Connection connection dataSource.getConnection();// 2. 构造 SQLString sql select * from message;PreparedStatement statement connection.prepareStatement(sql);// 3. 执行 sqlResultSet resultSet statement.executeQuery();// 4. 遍历结果集合ListMessage messageList new ArrayList();while (resultSet.next()) {Message message new Message();message.from resultSet.getString(from);message.to resultSet.getString(to);message.message resultSet.getString(message);messageList.add(message);}// 5. 回收资源resultSet.close();statement.close();connection.close();// 6. 返回 messageListreturn messageList;} }ps关于表白墙小项目就到这里了后续如有不足会维持更新的
http://www.hyszgw.com/news/82193.html

相关文章:

  • 东莞网站营销公司网站建设的展望 视频
  • 沈阳哪里可以做网站营销怎么查询网站备案信息查询
  • 一个网站开发商户如何做h5商城网站是什么
  • 建设用地规划许可证去哪个网站查wordpress 远程ftp
  • seo关于网站搜索临沂专业网站建设设计公司
  • 域名通过了才可以做网站吗seo交流qq群
  • php做网站难吗汉力建设网站
  • 祁阳县住房和城乡规划建设局网站九江开发区建设规划局网站
  • 安徽淮北做网站的公司有那些可以自己做壁纸的网站
  • 东莞网站建设公司怎么做敬请期待同义词
  • 上海做公司网站多少钱cargo创建个人网站
  • 优化企业网站模板广州游戏开发公司
  • 上海有做网站的公司么wordpress 反馈插件
  • wordpress子站共享用户名只需要手机号的广告
  • php 视频播放网站开发电子商务网站模板免费下载
  • 网站建设公司+长春樱花动漫imomoe官网入口
  • 网站平台建设实训内容上海企业建设网站
  • 如何做网站开屏积分动力WordPress
  • 上海网站建设服务多少钱更新网站的图片加不上水印
  • 建设英文外贸网站大数据技术建设网站
  • 做国外的营销的网站wordpress图片分享
  • 涞水网站建设网页空间结构
  • 定兴网站建设公司天马网络 网站建设
  • 会务网站建设搜狗收录网站
  • 建设通网站上的业绩能否有用商业网站地方频道
  • 学校网站首页代码html网店制作
  • 北京网站建设哪家好天网站建设费用属于业务宣传费吗
  • 申报城市维护建设税上哪个网站国外c2c平台有哪几个
  • 合肥那个公司做网站优化好怎么自己编码做网站
  • wordpress 页面分栏seo排名课程咨询电话