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

网站制作二级网页怎么做vi设计包含的内容

网站制作二级网页怎么做,vi设计包含的内容,asp网站如何搭建,wordpress 优化''目录 0.需求 1.创建Maven项目 2.给pom.xml内引入三个依赖 3.完善目录#xff0c;并补充web.xml中的内容 4.编写代码 后端代码 ​编辑前端代码 5.引入数据库 创建message表 创建工具类 往MessageServlet类中添加方法 0.需求 前面写好了表白墙页面#xff0c;但存…目录 0.需求 1.创建Maven项目 2.给pom.xml内引入三个依赖 3.完善目录并补充web.xml中的内容 4.编写代码 后端代码 ​编辑前端代码 5.引入数据库 创建message表 创建工具类  往MessageServlet类中添加方法 0.需求 前面写好了表白墙页面但存在问题 1.刷新/重开页面之前输入的数据会消失 2.只能在本机输入和看见其他机器看不见 解决思路让服务器存储用户提交的数据由服务器保存。有新的浏览器打开页面的时候从服务器获取数据服务器存档和读档 前后端交互 1.点击提交浏览器把表白信息发到服务器 2.页面加载浏览器从服务器获取到表白信息 存档和读档 存档每次点击提交按钮触发一次存档操作把用户输入的内容存储到服务器存一条 读档每次加载页面/刷新页面触发一次读档操作把之前服务器上存储的所有记录展示到当前页面中读所有 1.创建Maven项目 2.给pom.xml内引入三个依赖 dependencies!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependency!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.14.3/version/dependency!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.49/version/dependency/dependencies 3.完善目录并补充web.xml中的内容 !DOCTYPE web-app PUBLIC-//Sun Microsystems, Inc.//DTD Web Application 2.3//ENhttp://java.sun.com/dtd/web-app_2_3.dtd web-appdisplay-nameArchetype Created Web Application/display-name /web-app 4.编写代码 读取的数据和响应的数据都是json格式对应着 objectMapper.readValue和objectMapper.writeValue方法完成转换 Post方法把message存到List中Get方法把L响应到服务器中。 objectMapper.readValue把Json格式的message转换成Java对象objectMapper.writeValue把List中的Java对象转换成Json格式的字符串。 这是一个演示json的转换的代码 import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper;class Student{public int classId;public int studentId; } //对Json的使用的举例 public class TestJackson {public static void main(String[] args) throws JsonProcessingException {ObjectMapper objectMappernew ObjectMapper();//readValue是把Jackson对象转换成Java对象String s{\classId\:10,\studentId\:20};//readValue的第一个参数可以直接填一个String也可以写InputStreamStudent studentobjectMapper.readValue(s,Student.class);System.out.println(student.studentId);System.out.println(student.classId);System.out.println();//writeValue/writeValueAsString是把Java对象转换成json字符串Student student1 new Student();student1.classId10;student1.studentId20;String s1objectMapper.writeValueAsString(student1);System.out.println(s1);} } 后端代码 在表白墙后端中所对应的代码 import com.fasterxml.jackson.databind.ObjectMapper;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 java.io.IOException; import java.util.ArrayList; import java.util.List;class Message{public String from;public String to;public String message; }WebServlet(/message) public class MessageServlet extends HttpServlet {//使用list变量保存所有消息private ListMessage messageListnew ArrayList();private ObjectMapper objectMappernew ObjectMapper();//向服务器提交数据Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//把body里的内容解析出来成为一个message对象Message messageobjectMapper.readValue(req.getInputStream(),Message.class);//保存messageList.add(message);//状态码可以省略默认是200resp.setStatus(200);}//从服务器获取数据Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//告诉浏览器数据是json格式字符集是utf8resp.setContentType(application/json;charsetutf8);//把Java对象转成json字符串和把字符串写到响应对象中objectMapper.writeValue(resp.getWriter(),messageList);} } 用postman进行post和get进行操作查看上述代码实现 前端代码 Post是点击提交按钮的时候发起的Get是页面加载的时候发起的。 对之前写好的前端页面代码进行补充 1.引入jQuery 2.对提交按钮中添加给服务器发起post请求把上述数据提交到服务器 通过Ajax构造 上述存档流程 读档 让浏览器ajax发送get请求 读档前后端交互过程 当前数据是在内存中保存的重启服务器就没有了要想持久化保存就要写入到文件中硬盘 1.直接使用流对象写入文本文件 2.借助数据库 创建数据表 此处只有一个表 messagefromto,message) 5.引入数据库 创建message表 在MySQL中创建表message(from,to,message) 在创建时由于from和to是MySQL中的关键字需要加上反引号 ()键盘上Tab键上方 创建工具类  对数据库连接和关闭资源的工具类 import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;//通过这个类把数据库连接过程封装 //把这个类作为一个工具类提供static方法供其他代码调用 public class DBUtil {//静态成员跟随类对象类对象在整个进程中只有一份//静态成员也相当于唯一的实例单例模式饿汉模式private static DataSource dataSource new MysqlDataSource();static {//使用静态代码块针对dataSource进行初始化操作((MysqlDataSource)dataSource).setUrl(jdbc://127.0.0.1:3306/java106?characterEncodingutf8useSSLfalse);((MysqlDataSource)dataSource).setUser(root);((MysqlDataSource)dataSource).setPassword(318318);}//通过这个方法来建立连接public static Connection getConnection() throws SQLException {return dataSource.getConnection();}//通过这个方法断开连接释放资源public static void close(Connection connection, PreparedStatement statement, ResultSet resultSet){if(resultSet!null){try {resultSet.close();}catch (SQLException e){e.printStackTrace();}}if(statement!null){try {statement.close();} catch (SQLException e) {e.printStackTrace();}}if(connection!null){try {connection.close();} catch (SQLException e) {e.printStackTrace();}}} } 往MessageServlet类中添加方法 save往数据库中存一条消息 load从数据库获取所有消息 //往数据库中存一条消息private void save(Message message){//JDBC操作Connection connectionnull;PreparedStatement statement null;//1.建立连接try {//2.构造SQL语句String sqlinsert into message values(?,?,?);statement.setString(1,message.from);statement.setString(2,message.to);statement.setString(3,message.message);//3.执行sqlstatement.executeUpdate();} catch (SQLException e) {e.printStackTrace();}finally {//4.关闭连接DBUtil.close(connection,statement,null);}}//从数据库获取所有消息private ListMessage load(){ListMessage messageListnew ArrayList();Connection connectionnull;PreparedStatement statementnull;ResultSet resultSetnull;try {//1.和数据库建立连接connectionDBUtil.getConnection();//2.构造SQLString sqlselect * from message;statement connection.prepareStatement(sql);//3.执行sqlresultSetstatement.executeQuery();//4.遍历结果集合while(resultSet.next()){Message messagenew Message();message.fromresultSet.getNString(from);message.to resultSet.getNString(to);message.messageresultSet.getNString(message);messageList.add(message);}return messageList;}catch (SQLException e){e.printStackTrace();}finally {//5.释放资源断开连接DBUtil.close(connection,statement,resultSet);}return messageList;} } 此时在页面输入的数据将会保存在数据库中。
http://www.hkea.cn/news/14528338/

相关文章:

  • 建网站需要多钱mvc电子商务网站开发
  • 网站商城建设员招聘信息潍坊网站制作怎么做
  • 如何一个空间放两个网站好的网站建设方案
  • 用asp做的几个大网站wordpress 多标签
  • 举措推进网站互动交流建设辽宁省建筑工程造价信息网
  • dede仿站wordpress无法用ftp
  • 随州市网站建设公司织梦移动网站模板免费下载
  • 网站 建设在作用是什么意思wordpress程序图片打开慢
  • 网站设计模板怎么使用做外贸最好的网站建设
  • 无锡梅村网站建设北京 网站设计飞沐
  • 网站开发不提供源代码怎么下载浏览器里的视频
  • 网站开发需要什么文凭wordpress外网ip访问
  • 遇到灾难网站变灰怎么做做头像网站静态
  • 信誉好的福州网站建设北京装饰公司排行 2019
  • 网站创建免费用户免费企业静态网站模板
  • 黑客怎么攻击网站网页模板在线设计
  • 外贸出口平台网站微信公众号微网站 建设报价表
  • 专做蓝领的网站wordpress图文安装
  • 有没有做衣服的网站吗网站建站六个目标
  • 广州建设网站服务南海网站建设
  • 网站销售网站建设需求单
  • 无锡大型网站建设公司汕头seo服务
  • 网站HTML怎么做链接Wordpress 防注入代码
  • 呼和浩特市城乡建设网站东莞人才市场档案接收电话
  • 电子商务网站建设研究网络公司排名最新排名
  • phpcms 怎么做视频网站wordpress注册发帖
  • 外贸网站有哪些推广百度企业云网站建设
  • 网站页面设计的网址wordpress 文章概要
  • 什么自己做网站行者seo无敌
  • 是用cms还是直接用语言写网站湖南网络推广服务平台