`
文章列表
RESTful简介   1,REST架构师一个抽象的概念,目前主要是基于HTTP协议实现,其目的是为了提高系统的可伸缩性,降低应用之间的耦合度,便于框架分布式处理程序。   2,REST主要对以下两方面进行了规范 -定位资源的URL风格,例如  http://baidu.com/admin/1234  http://baidu.com/admin/1234/10/11 -如何对资源操作  采用HTTP协议规定的GET、POST、PUT、DELETE动作处理资源的增删该查操作    3,什么是RESTful?  -符合REST约束风格和原则的应用程序或设计就是RESTfu ...
动态SQL简介: 带台SQL是MyBatis框架中强大特效之一。在一些组合查询页面中刚,需要根据用户输入的查询条件生成不同的查询SQL,这在JDBC或其他相似框架中需要在代码中拼写SQL,经常容易出错,但是在MyBatis中可以解决这种问题。 使用动态SQL元素与JSTL相似,它允许我们在XML中构建不同的SQL语句。常用的元素如下: 判断元素:if,choose 关键字元素:where,set,trim 循环元素:foreach   判断元素用法: if元素 if元素是简单的条件判断逻辑,满足指定条件时追加if元素内的SQL. <select...>   ...
为了便于接收和处理Ajax请求,SpringMVC提供了JSON响应的支持,可以很方便地将数据自动转换成JSON格式的字符串给客户端JavaScript返回。 在Spring MVC中,与JSON响应相关的注解为@ResponseBody   @ResponseBody应用 @ResponseBody注解主要用于Controller组件的处理方法前,具体使用方法如下: 1,引入jar包 jackson-annotations-2.4.1.jar jackson-core-2.4.1.jar jackson-databind-2.4.1.jar   2,在Spring配置文 ...
        在Spring和MyBatis整合项目时,当传入对象的属性为null时,在执行该SQL时会报错。但是在项目中,新增时很多字段是可以为空的,因此必须要解决这个问题。   下面是问题产生阐述: COST表定义:   create table cost( cost_id number(4) constraint cost_id_pk primary key, name varchar(50) not null, base_duration number(11), base_cost number(7,2), uni ...
SpringMVC文件上传:   需要jar包:common-fileupload.jar common-io.jar   在SpringMVC中,文件上传功能可以由即插即用的CommonsMultipartResolver解析器组件实现,它在org.springframework.web.multipart包里。因此需要实例化此组件。   使用方法: 1.配置文件 <!-- 打开文件上载支持 id名字不能写其他的 --> <bean id="multipartResolver" class="org.springf ...
上一节SpringMVC+myBatis的整合还可以利用SqlSessionTemplate组件来实现。 关于Mapper接口,要求不能重复,参数只能有一个,多个参数使用只对象,查询才有返回值。 所有Mapper接口不是DAO,没有DAO灵活方便。所有这里可以用SqlSessionTemplate来操作,把该组件对象注入给DAO,在DAO中利用SqlSessionTemplate编程。   基本方法如下: 步骤一:编写DAO接口。该接口中方法可以随便定义,不受beanXXX.xml中SQL id的影响。 public interface DeptDao { public Li ...
学习本节内容请先看"MyBatis的基本应用"。地址:http://lydia-fly.iteye.com/admin/blogs/2152948 Spring与MyBatis整合需要引入mybatis-spring.jar文件包。   其提供了与整合相关的API: SqlSessionFactoryBean --为整合应用提供SqlSession对象资源 MapperFactoryBean --根据指定的Mapper接口生成Bean实例 MapperScannerConfigurer --根据指定包批量扫描Mapper接口并生成实例   SqlSe ...
MyBatis是轻量级的数据库访问API,封装了JDBC操作,可以实现对实体对象的CRUD操作。  MyBatis体系结构主要组成部分:    配置文件:SqlMapConfig.xml 主配置文件    声明了数据库连接参数,引用了映射文件    映射文件: 每个实体一个映射文件    映射文件与 Mapper接口对应。   映射文件中:     每个Mapper接口中的方法,对应映射文件中的SQL语句。   使用步骤: 使用MyBatis  1 导入包  2 创建配置文件  3 创建实体和Mapper接口,已经映射文件  4 使用 工厂创建SqlSessi ...
Spring 拦截器     Spring的HandlerMapping 处理器支持拦截器应用。当需要为某些请求提供特殊功能时,例如对用户进行身份认证,或者记录日志,拦截器非常适用。   Spring中 定义一个拦截器必须实现HandlerInterceptor接口,这个接口   public class MyInterceptor implements HandlerInterceptor { public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object ar ...
Spring MVC处理异常方式有以下三种:   1.使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver 2.实现HandlerExceptionResolver 3.使用@ExceptionHandler注解实现异常处理   方法一:使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver <!--方法一: 全局异常配置 start --> <bean id="exceptionResolver" class="or ...
Spring接收请求参数:   1,使用HttpServletRequest获取 @RequestMapping("/login.do") public String login(HttpServletRequest request){ String name = request.getParameter("name") String pass = request.getParameter("pass") }  2,Spring会自动将表单参数注入到方法参数,和表单的name属性保持一致。和Strut ...
基本在注入: <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="oracle.jdbc.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE" /&g ...

Struts2上传下载

 原理:   表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值:   1) application/x-www-form-urlencoded:这是默认编码方式,它只处理表单域里的value属性值,采用这种编码方式的表单会将表单域的值处理成URL编码方式。   2) multipart/form-data:这种编码方式的表单会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定文件的内容也封装到请求参数里。   3) text/plain:这种方式主要适用于直接通过表单发送邮件的方式。   文件上传是web应用经常用到的一个知识。原理是,通过为表单元素设 ...
Struts2中Action方法默认返回一个String,改字符串会匹配struts.xml中的result去找对应的jsp页面,也就是说Action最终返回的是一个jsp页面。但是很多时候我们也需要用Struts2去返回一个普通的String(不是jsonString),那么有如下两种方法实现,这两种方法同适用于Android客户端请求后返回String的响应。   方法一:Action.java中的代码如下。struts.xml中配置不变 public String execute() throws Exception { //注意:加上这句就必须设置响应的编码格式,否则会出现乱码 ...
Andoird中能够使用java中封装的Socket通信机制。 服务端:   public class SimpleServer { public static void main(String[] args) throws IOException { // 创建一个ServerSocket,用于监听客户端Socket的连接请求 ServerSocket ss = new ServerSocket(30000); // 采用循环不断接受来自客户端的请求 while (true) { // 每当接受到客户端Socket的请求,服务器端也对应产生一个Soc ...
Global site tag (gtag.js) - Google Analytics