Spring常用代码

1.String conf="applicationContext.xml";
ApplicationContext atc=new ClassPathXmlApplicationContext(conf);

2.指定扫描类路径
<context:component-scan base-package="com.tarena"></context:component-scan>

3.扫描db.perproties文件配置
<util:properties id="jdbcProps" location="classpath:db.properties">
</util:properties>

4.DispatcherServlet控制器配置
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.form</url-pattern>
</servlet-mapping>

5.HandlerMapping组件
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<!-- 指定请求和Controller对应关系 -->
<property name="mappings" ref="urlMappings"></property>
</bean>

<!-- 定义请求映射表map -->
<util:properties id="urlMappings" >
<prop key="/hello.form">helloController</prop>
</util:properties>

6.ViewResolver组件
<!-- 定义视图解析器ViewReslover -->
<bean id="viewReslover" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>

7.中文乱码解决方案
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>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.form</url-pattern>
</filter-mapping>

8.使用拦截器实现登录检查
Spring的HandlerMapping处理器支持拦截器应用。当需要为某些请求提供特殊功能时,例如对用户进行身份认证,
就非常适用。
拦截器必须实现HandlerInterceptor接口,这个接口有以下3个方法
preHandle(...) 处理器执行前被调用。
postHandle(...) 处理器执行后,视图处理前调用。此时可以通过modelAndView对象对模型数据进行
处理或对视图进行处理
afterCompletion(...)整个请求处理完毕后调用

9.自定义拦截器的配置如下
<!-- 追加SomeInterceptor 即自定义拦截器配置-->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/SpringMVC1/*"/>
<mvc:exclude-mapping path="/login/*"/>
<bean class="com.tarena.interceptor.SomeInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>

10.异常处理
Spring MVC处理异常方式有以下三种
使用Spring MVC提供的简单异常处理器 SimpleMappingExceptionResolver
实现HandlerExceptionResolver接口自定义异常处理器
使用@ExceptionHandler注解实现异常处理

11.SimpleMappingExceptionResolver使用时,只需要在Spring的XML配置文件中定义下就可以了。
定义示例如下:

12.出错页面定义
<!-- 出错页面定义 -->
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>

13.开启@RequestMapping注解的配置
<mvc:annotation-driven></mvc:annotation-driven>

14.上传文件配置
<!-- 上传文件配置 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="51200"></property>
<property name="resolveLazily" value="true"></property>
</bean>

15.上传文件
@Controller
public class UploadController {
@RequestMapping("/toUpload.form")
public String toUpload(){
return "upload";
}
@RequestMapping(value="/upload.form")
public String upload(@RequestParam(value="file",required=false) MultipartFile file,HttpServletRequest req,ModelMap model){
String path=req.getSession().getServletContext().getRealPath("upload");
String fileName=file.getOriginalFilename();
System.out.println(path);
File targetFile=new File(path,fileName);
if(!targetFile.exists()){
targetFile.mkdirs();
}
//保存
try{
file.transferTo(targetFile);
model.addAttribute("fileUrl", req.getContextPath()+"/upload/"+fileName);
}catch(Exception e){
e.printStackTrace();
}
return "result";
}

@RequestMapping(value="/uploads.form")
public String uploads(@RequestParam(value="file",required=false)
MultipartFile[] files,HttpServletRequest req,ModelMap model){
List<String> urls=new ArrayList<String>();
for(MultipartFile file:files){
String path=req.getSession().getServletContext().getRealPath("upload");
String fileName=file.getOriginalFilename();
System.out.println(path);
File targetFile=new File(path, fileName);
if(!targetFile.exists()){
targetFile.mkdirs();
}
//保存
try{
file.transferTo(targetFile);
urls.add(req.getContextPath()+"/upload/"+fileName);
}catch(Exception e){
e.printStackTrace();
}
}
model.addAttribute("fileUrls", urls);
return "result";
}
}

时间: 2024-10-21 20:56:37

Spring常用代码的相关文章

Spring常用注解总结

传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低.2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率.为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密

spring常用注解使用讲解

spring常用注解使用讲解 本文讲述spring的几个常用的注解 @RequestMapping @RequestParam @ResponseBody @RequestBody @Autowired 一.@RequestMapping  RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. RequestMapping注解有六个属性,下面我们把她分成三类进行说明. 1. value, method: v

Spring学习(2)Spring 常用注解

Spring 常用注解 使用注解来构造IoC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scanbase-package="pagkage1[,pagkage2,-,pagkageN]"/>. 如:在base-package指明一个包 1 <context:component-scan base-package="cn.gacl.java"/> 表

Spring系列之Spring常用注解总结

传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低.2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率.为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密

spring 常用的注入方式有哪些?

1.xml中配置bean 的申明.注册<bean> 节点注册 bean<bean> 节点的 factory-bean 参数指工厂 bean,factory-method 参数指定工厂方法bean 的注入<property> 节点使用 set 方式注入<constructor-arg> 节点使用 构造方法注入实测代码maven pom 文件?<dependency><groupId>org.springframework</gro

常用代码整理(重要)

常用代码整理: 1.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATC

HTML入门常用代码

Html 常用代码1.文件类型<HTML></HTML> (放在档案的开头与结尾)2.文件主题<TITLE></TITLE> (必须放在「文头」区块内)3.文头<HEAD></HEAD> (描述性资料,像是「主题」)4.文体<BODY></BODY> (文件本体)5.层<DIV></DIV> 6.层的对齐<DIV ALIGN=LEFT|RIGHT|CENTER|JUSTIFY>

SqlServerDBA 常用代码

--查看partition的四个视图 select * from sys.partition_functions--查看分区函数 select * from sys.partition_parameters select * from sys.partition_range_values--查看分区函数对应的分区范围 select * from sys.partition_schemes--查看分区架构 SqlServerDBA 常用代码,布布扣,bubuko.com

ASP.NET MVC+EF5 开发常用代码

Asp.Net Mvc,EF 技术常用点总结 1.Asp.Net MVC a)获得当前控制器名和当前操作的名称(action) 1.Action 中 RouteData.Values["controller"].ToString(); RouteData.Values["action"].ToString(); 2.页面中(view) ViewContext.RouteData.Values["controller"].ToString().To