做了一个很简单的网页 记录一下经历和踩的坑
一: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里都要改,改起来很麻烦