-
3.1.Maven介绍 1.POM:xml文件,可通过配置来完成依赖管理 2.依赖管理 依赖:A直接依赖B、C,间接依赖D、E(传递依赖)。 /WEB-INF/lib:存放项目依赖的jar包。 maven:在POM配置依赖项,提供依赖管理、传递管理,可自动载入需要的依赖包。 3.maven坐标:groupId、artifactId、version、packaging(可缺省,默认jar) 3.2.Maven安装与测试 1.下载并解压meaven.zip(百度谷歌搜索Maven); 2.配置环境变量, 名字M2_HOME ,值为meaven安装目录;path:%M2_HOME%\bin; 3.测试cmd:mvn –version 3.3.Maven的配置 -- settings.xml的配置 将conf文件下的settings.xml文件复制到%HOME%\.m2目录下,为了避免以后更新了Maven,又要重新配置; 注意:%HOME%\.m2 要等运行过 maven 才会自动生成的。 1.配置repository位置(可选): <localRepository>/path/to/local/repo</localRepository> 2.镜像配置 访问英国的镜像仓库: <mirror> <id>UK</id> <name>UK Central</name> <url>http://uk.maven.org/maven2</url> <mirrorOf>central</mirrorOf> </mirror>查看全部
-
front controller(MVC)查看全部
-
controller查看全部
-
1.mvc-dispatcher-servlet.xml,配置ViewResolver 2.pom.xml,引入依赖 3.CourseController.java,书写支持JSON方法 @RequestMapping(value="/{courseId}",method=RequestMethod.GET) public @ResponseBody Course getCourseInJson(Integer courseId){ return courseService.getCourseById(courseId); } @RequestMapping(value="/jsontype/{courseId}",method=RequestMethod.GET) public ResponseEntity<Course> getCouseInJson2(@PathVariable Integer courseId){ Course course=courseService.getCourseById(courseId); return new ResponseEntity<Course>(course, HttpStatus.OK); }查看全部
-
JSON(JavaScript Object Notation) 轻量级格式,数据交换的格式 ContentNegotiateViewResolver负责处理查看全部
-
3.CourseController.java @RequestMapping(value="/upload",method=RequestMethod.GET) public String showUploadPage(){ return "course_admin/file"; } @RequestMapping(value="/doUpload",method=RequestMethod.POST) //Spring MVC会将Request中name为file的值绑定到参数中 public String doUpload(@RequestParam("file") MultipartFile file) throws IOException{ if(file.isEmpty()){ log.debug("process file:{}"+file.getOriginalFilename()); //文件的拷贝 FileUtils.copyInputStreamToFile(file.getInputStream(), new File("F:/temp/", System.currentTimeMillis()+file.getOriginalFilename())); } return "success"; } 4.file.jsp <!-- 文件上传时必须显式指明是属性:enctype="multipart/form-data" --> <form method="post" action="/courses/doUpload" enctype="multipart/form-data"> <input type="file" name="file"/> <input type="submit"/> </form>查看全部
-
1.mvc-dispatcher-servlet.xml <!--200*1024*1024即200M resolveLazily属性启用是为了推迟文件解析,以便捕获文件大小异常 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="209715200" /> <property name="defaultEncoding" value="UTF-8" /> <property name="resolveLazily" value="true" /> </bean> 2.pom.xml <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency>查看全部
-
1.导入项目 import-->Maven(ExistingMaven Projects)-->刚创建的文件目录spring-mvc-study 2.缺失Java目录时,手动添加Java目录 右键main-->folder-->java 3.修改pom.xml 添加各种依赖包 4.配置web.xml文件 <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/configs/spring/mvc-dispatcher-servlet.xml</param-value>(默认路径为此) </init-param> </servlet> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern>(拦截所有的请求) </servlet-mapping> 5.在项目中创建一个跟<init-param>下<param-value>中路径相同的文件夹,放置mvc-dispatcher-servlet.xml文件查看全部
-
1.创建Maven目录结构 命令行运行:mvn archetype:generate -DgroupId=..... -DartifactId=spring-mvc-study(根目录的文件名称) -DarchetypeArtifactId=maven-archetype-webapp查看全部
-
1.配置Maven环境变量 将Maven解压到某个目录下,复制路径。 新建环境变量:”M2_HOME“ 变量值:刚才复制的路径 环境变量配置之后,修改PATH,将%M2_HOME%\bin;添加到PATH中 2.测试Maven是否安装成功 cmd-->mvn -version 成功的话是可以看到Maven版本号的查看全部
-
1.POM(project object model) 是一个xml文件,依赖管理,生命周期,插件管理都在其中 2.依赖 通过groupId,artifactId,version,packaging唯一标识一个架包 包括直接依赖和传递依赖查看全部
-
Binding(绑定):将请求中的字段按照名字匹配的原则填入模型对象 本例中,在方法参数Course上,没有使用参数注解的时,通过给Course对象设置一个id为123,然后跳转到id为123的页面;使用@ModelAttribute注解时,把这个注解限定于Course参数,效果一样。 @ModelAttribute注释一个方法的参数 1.从Model中获取 2.从Form表单或URL参数中获取(实际上,不做此注释也能拿到user对象) @Controller @RequestMapping("/courses") public class CourseController { @RequestMapping(value="/save",method=RequestMethod.POST) public String doSave(@ModelAttribute Course course){ //通过日志观察绑定的行为 log.debug("Info of doSave"); log.debug(ReflectionToStringBuilder.toString(course)); //在此进行业务操作,比如数据库持久化操作 course.setCourseId(123); //请求重定向 return "redirect:view2/"+course.getCourseId(); } }查看全部
-
@Controller声明一个controller @RequestMapping 声明访问的URL。类和方法上均可使用 @RequestParam 形如xx/xxx?xx=xx的参数 @PathVariable 形如xx/xx/{xxxx}的参数 springMVC传递参数的三种方式: 1)使用参数注解@RequestParam url形式:http://host:8080/courses/view?courseID=123 controller参数中传入:@RequestParam("courseID") Integer courseID 2)使用路径变量注解@PathVariable url形式:http://host:8080/courses/view2/{courseID} 方法的requestMapping:@RequestMapping(value="/view2/{courseID}",method=RequestMethod.GET) controller参数中传入:@PathVariable("courseID") Integer courseID 3)使用传统的从HttpServletRequest获取参数 url形式:http://host:8080/courses/view3?courseID=123 controller参数中传入HttpServletRequest,使用request.getParameter("key")来获取参数值。查看全部
-
Controller-传统方式 1.pom.xml导入servlet依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> 2.Controller中 @Controller @RequestMapping("/courses")//类级别的RequestMapping,任何/courses/**都会被拦截 public class CourseController { //日志信息 private static Logger log = LoggerFactory.getLogger(CourseController.class); private CourseService courseService; @Autowired public void setCourseService(CourseService courseService) { this.courseService = courseService; } //Controller-传统方式,负责处理/courses/view?courseId=456 形式的URL @RequestMapping(value="/view3",method=RequestMethod.GET) public String viewCourse3(HttpServletRequest request){ int courseId=(Integer) request.getAttribute("courseId"); log.debug("In viewCourse2, courseId = {}", courseId); Course course=courseService.getCourseById(courseId); request.setAttribute("course", course); return "course_overview"; } }查看全部
-
@Controller @RequestMapping("/courses")//类级别的RequestMapping,任何/courses/**都会被拦截 public class CourseController { //方法级别的RequestMapping,负责处理/courses/view?courseId=123 形式的URL,并且是getter方法传递过来的请求 @RequestMapping(value="/view",method=RequestMethod.GET) public String viewCourse(@RequestParam("courseId") Integer courseId,Model model){ //通过日志观察绑定的行为 log.debug("In viewCourse, courseId = {}", courseId); Course course=courseService.getCourseById(courseId); model.addAttribute(course); return "course_overview"; } //负责处理/courses/view2/123 形式的URL @RequestMapping(value="/view2/{courseId}",method=RequestMethod.GET) public String viewCourse2(@PathVariable("courseId") Integer courseId,Map<String, Object> model){ log.debug("In viewCourse2, courseId = {}", courseId); Course course=courseService.getCourseById(courseId); model.put("course",course); return "course_overview"; } }查看全部
举报
0/150
提交
取消