发表于: 2017-09-01 23:12:19
1 1043
今天完成的事
学习SpringMV
SpringMVC的常用注解
1、@Controller (表明这是一个控制类)
在SpringMVC 中提供了一个非常简便的定义Controller 的方法,只需使用@Controller 标记一个类是Controller
2.@RequestMapping
一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径
3、@Resource和@Autowired
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入
4.@PathVariable
用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri中的变量作为参数
5.@requestParam主要用于在SpringMVC后台控制层获取参数
6.@ResponseBody 该注解用于将Controller的方法返回的对象 一般在返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
7.@Repository 用于注解dao层,在daoImpl类上面注
什么是DispatcherServlet
DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处,主要负责流程的控制
创建SpringMVC项目,编写配置文件
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Archetype Created Web Application</display-name>
<!--配置DispatcherServlet-->
<servlet>
<servlet-name>Student-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--配置SpringMVC需要加载的配置文件-->
<!--Spring—dao -> spring -> springMVC-->
<!--spring-dao.xml,spring-service.xml,spring-web.xml-->
<init-param>
<!--加载所有spring下的配置文件-->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-*.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Student-dispatcher</servlet-name>
<!--默认匹配所有请求-->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
Spring-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--配置SpringMVC-->
<!--开启SpringMVC注解模式-->
<!--简化配置
自动注册DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapter
提供系列功能 数据绑定,数字和日期的Format
xml,jason的默认都写和支持
-->
<mvc:annotation-driven/>
<!--servlet-mapping 映射路径 :"/"-->
<!--静态资源默认servlet配置-->
<!--允许使用"/"做整体映射-->
<mvc:default-servlet-handler/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp"/>
<property name="suffix" value=".jsp"/>
</bean>
<!--扫面web相关的bean-->
<context:component-scan base-package="org.student.web"/>
</beans>
稍稍写了点controller,但是写着写着就发现开始的思路不对
打算明天重写
//标这是一个控制器类
@Controller
//所有程序的第一接口 表示类中的所有响应请求的方法都是以该地址作为父路径
@RequestMapping
public class HomeController {
private static Logger loggerController = Logger.getLogger(HomeController.class);
//自动配装StudentService
@Autowired
private StudentService studentService;
/*
* 对某个指定用户查询
* 链接为http://localhost:8080/task2/a/student/select/具体数据
*/
@RequestMapping(value="/a/student/select/{id}",method = RequestMethod.GET)
public String select(HttpServletRequest request, HttpServletResponse response, Model model, @PathVariable String id){
if (id!=null){
try {
loggerController.info("查找当前的用户信息");
loggerController.info("id" + id);
Student student = this.studentService.studentSelect(id);
loggerController.info("学生信息: "+ study);
//将数据绑定到model上,可以传入jsp页面
model.addAttribute("study", study);
} catch (Exception e) {
e.printStackTrace();
loggerController.error("查询失败" + e.getMessage());
return "common/errorJson";
}
return "student/studentDataliJson";
}
else {
loggerController.info("id" + id);
return "common/errorParameterJson";
}
}
}
}
了解了SpringMVC大概需要什么配置文件,但总感觉少点什么,网上的说法太过破碎,一人一个样
明天找师兄抱大腿,让给我好好讲讲!!!
明天的计划
抱师兄大腿,一定要在明天把SpringMVC弄清楚
试着按照师兄讲的写写代码
明天要多花点时间准备小课堂了,不能再往后脱了 ,把PPT先搞出来
遇到的问题
springMVC卡住的第四天了,该死皮赖脸的去问师兄了
也不知道是不是看不懂的问题,学习没尽头了,感觉今天一天都是假学习状态,一定要调整过来
不知道别人代码上的配置文件都什么用,一个人一个样,不知道参考谁的 明天好好问问师兄
程远师兄的代码上有两个接口和实现,没明白这有什么用,分别指向谁
任务进度:任务2步骤2
任务开始时间:2017-8-29
预计结束时间:2017-9-4
有延期风险 解决方案:跟师兄谈谈,再决定延期几天
禅道:http://task.ptteng.com/zentao/task-view-9387.html
评论