祭奠 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 要设置表头

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里都要改,改起来很麻烦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值