祭奠 web作业1

做了一个很简单的网页  记录一下经历和踩的坑

一:IDE :idea

二:后端框架用的SpringBoot

三:javaweb方面用的: jsp

在SpringBoot上获取jsp页面:ModelAndView  对象的使用

数据库里的数据弄成对象通过ModelAndView.addObject (name,object)方式 加载到 jsp 里面

在jsp界面里通过EL表达式获取使用对象 例如:${name}   ${name.propety}

这样就完成了java 与 jsp 基本的数据交互!!!!

之后用在jsp里用foreach 循环添加数据就行了

 @RequestMapping("/getModelView")
    public ModelAndView addComment()
    {
        ModelAndView model = new ModelAndView("homework1");
        CommentBean commentBean = new CommentBean();
        String sql = "SELECT * FROM comments";
        List<CommentBean> comments = jdbcTemplate.query(sql, new RowMapper<CommentBean>()
        {
            CommentBean com = null;
            @Override
            public CommentBean mapRow(ResultSet resultSet, int rowNum) throws SQLException {
                com = new CommentBean();

                com.setQuestion(resultSet.getString("question"));
                com.setAnswer(resultSet.getString("answer"));
                com.setDate(resultSet.getString("date"));
                com.setRowindex(resultSet.getString("rowindex"));

                return com;
            }
        });
        commentBean.setComments(comments);


        model.addObject("comments",commentBean);

        return model;

    }

在循环遍历拼接HTML的时候起class名字 class${1} = class1 ,会拼接成字符串

在document.getElementsByClassName()的时候可以用下面的方式:index是变量

var tmp = "class"+index;
var inputs = document.getElementsByClassName(tmp);

四:数据库:

1:也就一张表,很简单

2:index  不要用做列的名字!!!被坑死

3:主键就设置自增主键

五:网络传输方面:

在javaScript 脚本里用的 的XMLHTTPRequest

var xmlHttp = new XMLHttpRequest();

如果是post 要设置表头

扫描二维码关注公众号,回复: 11324015 查看本文章
xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

设置回调函数 

xmlHttp.onreadystatechange = handleStateChange;

传递数据到服务器:目前就用的下图的para:key-value 形式 用   .send方式发送数据

  var answer =  inputs.item(1).value;
      xmlHttp.open("post","http://localhost:8088/homework1/addAnswer");
        xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xmlHttp.onreadystatechange = handleStateChange;

      var para = "answer="+answer+"&"+"rowIndex="+index;
      xmlHttp.send(para);

服务器接收在,springBoot里面 就这样 HttpServletRequest 对象

 @RequestMapping("/addAnswer")
    public String addAnswer(HttpServletRequest httpServletRequest){

        String answer =  httpServletRequest.getParameter("answer");
        String index = httpServletRequest.getParameter("rowIndex");

        System.out.println(answer+"jkhkj");

        String sql = "update comments set answer='" +answer+  "' where rowIndex="+index;//注意index是数字
     //   sql = "delete from comments where answer='不好'";
        System.out.println(sql);
        jdbcTemplate.execute(sql);
        return "ok";
    }

javaBean

javaBean 的设计很重要 变量定义的循序一定要对应数据库中的表的变量顺序 

还有就是尽量把变量的名字与表中的col的名字定义的一样

设计好再写代码,否则容易牵一发而动全身!!!java 和 jsp里都要改,改起来很麻烦

猜你喜欢

转载自blog.csdn.net/weixin_43912833/article/details/102997523