发表于: 2019-05-28 19:54:33
1 590
1.完成的事情:
1)在写mavenWeb项目的增删改查时,不是很顺畅,感觉对很多点的理解还没到位,又重新学习了一下;
首先是controller;控制器Controller负责处理前端控制器发出的请求,然后把用户需要的数据经过处理封装层一个Model,返回给对应的View展示给用户,且在SpringMVC中,只需要用@Controller将类或者方法标记为controller,然后再用一些注释,如@RequestMapping定义用户请求和controller方法之间的映射,即可正常运行,可以说是非常简便了;
下面是之前写过的一个简单的Controller:
@Controller
public class ControllerTest{
@RequestMapping("/hello")
public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest ,
javax.servlet.http.HttpServletResponse httpServletResponse)throws Exception{
ModelAndView modelAndView = new ModelAndView("hello");
modelAndView.addObject("message","Hello SpringMVC");
return modelAndView;
}
在上面代码中@Controller标记该类为一个controller对象,@RequestMapping(“hello”)则表示当请求为/hello时执行下面方法,modelAndView.addObject(“message”,“Hello SpringMVC”)中,message表示modelandview即(”hello“)的属性,Hello SpringMVC则是对应的属性值;
接着就是在SpringMVC.xml中配置controller,有两种方式:
第一种是直接定义该类的bean;
<bean class="com.lxh.controller.ControllerTest"/>
第二种是自动扫描,类似之前用过的@Autowired注解;
<context:component-scan base-package="com.lxh"/>
我这里是将com.lxh这个包下的所有文件都进行扫描,Spring会去这个包里找标记为@Controller的controller对象;
然后就是jsp和servlet;
看到一句话总结的很好:jsp就是在html里面写java代码,servlet就是在java里面写html代码;
下图很好的解释了用户请求到servlet的流程:
首先,会根据用户请求生成两个对象:HttpServletRequest和HttpServletResponse,然后根据不同的请求去调用doGet()或doPost()方法,生成数据并返回;
下面是我自己的servlet类;
public class Servlet extends HttpServlet {
@Override
protected void doGet (HttpServletRequest request,
HttpServletResponse response)throws ServletException, IOException{
doPost(request,response);
}
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response)throws ServletException,IOException{
response.getWriter().println(new Date());
response.sendRedirect("WEB-INF/jsp/userlist.jsp");
}
}
jsp就是在html页面写入java代码,具体如下:
1.<%!
Java类、方法、全局变量(或常量)
%>
2.<%
Java代码(语句),局部变量
%>
3.<%=变量或常量%> // 输出内容
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF8">
<title>INSERT</title>
</head>
<body>
<form action="/a/student" method="post">
姓名: <input type="text" name="name" placeholder="输入姓名"> <br>
年龄: <input type="text" name="age" placeholder="输入年龄"> <br>
<input type="submit" value="增加">
</form>
</body>
</html>
也有一些简单的直接输出文本的jsp文件:
<%@ page pageEncoding = "utf-8" %>
<%@ page contentType="text/html;charset=utf-8" %>
<!DOCTYPE html>
<html>
<head><title>Hello World!</title></head>
<body>
<h1>Hello World!</h1>
</body>
</html>
2.遇到的困难:
1)还是不太熟练,要再多了解一些;
3.明天的计划:
1)将增删改查写完,继续下面任务;
评论