SpringMVC简介和环境搭建
SpringMVC简介
SpringMVC是一个类似于Struts的MVC框架,作为Spring全家桶一员,可以与Spring无缝连接。
SpringMVC环境搭建
- web.xml配置
<!-- springmvc前端控制器,servlet-name见名知意即可 --> <servlet> <servlet-name>springMvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- servlet初始化参数,即配置文件内容 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:SpringMvc.xml</param-value> </init-param> <!-- 在tomcat启动的时候就加载,数值越大优先级越低 --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMvc</servlet-name> <!--*.action 代表拦截后缀名为.action结尾的--> <url-pattern>*.action</url-pattern> </servlet-mapping> <!--服务器启动的时候就会创建Filter,将init-param中的参数加载,注入到CharacterEncodingFilter 类中,浏览器每次发送请求都会经过这个过滤器--> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <!--encoding用来指定编码格式,forceEncoding表示是否强制response的编码格式--> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <!-- encoding filter for jsp page --> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
- Spring-mvc.xml配置
<!--启用注解驱动--> <mvc:annotation-driven/> <!--配置注解扫描包,我们一般写项目根路径--> <context:component-scan base-package=“com.yuan.test” /> <!--返回视图解析器配置--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/" p:suffix=".jsp" /> <!--控制器中使用MultiActionController时,使用path+方法名访问指定方法--> <bean name="/test1/multi" class="com.yuan.test.MultiController"> <property name="methodNameResolver"> <ref bean="paramMethodResolver"/> </property> </bean> <!--value="a" 可以按需设置--> <bean id="paramMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver"> <property name="paramName" value="a"></property> </bean> 访问url:http://localhost:8080/test/multi?a=methodName <!--文件上传--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="utf-8" /> <property name="maxUploadSize" value="100000" /> <property name="maxInMemorySize" value="960" /> </bean>
springmvc web项目在idea中配置
- 配置Project Structure
- 配置Tomcat
Springmvc示例
文件上传示例
/**上传单个文件*/ public String uploadOne(@RequestParam("file") CommonsMultipartFile file) throws IOException{ if(!file.isEmpty()){ try { /**将文件存入D盘并重新命名*/ FileOutputStream fileOutputStream = new FileOutputStream("D:/" + new Date().getTime() + file.getOriginalFilename()); InputStream inputStream = file.getInputStream(); int byte = 0; while((byte=inputStream.read()) != -1){ fileOutputStream.write(byte); } fileOutputStream.flush(); fileOutputStream.close(); inputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } return "/success"; } /**一次性上传多个文件*/ public String uploadMore(HttpServletRequest request,HttpServletResponse response) throws IllegalStateException, IOException{ CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); if(multipartResolver.isMultipart(request)){ MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request; Iterator<String> iter = multiRequest.getFileNames(); while(iter.hasNext()){ MultipartFile file = multiRequest.getFile((String)iter.next()); if(file != null){ String fileName = "upload" + file.getOriginalFilename(); String path = "D:/" + fileName; File localFile = new File(path); file.transferTo(localFile); } } } return "/success"; }
内容来源于网络如有侵权请私信删除
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!