发表于: 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)将增删改查写完,继续下面任务;


返回列表 返回列表
评论

    分享到