[一站式服务]Spring MVC实现简单CURD项目

前言

一个简单的网页CURD系统,用上了从来没用多的Spring MVC框架,一路走来,收获了很多,在这里记录下来分享给大家!

流程

搭建spring 框架(MVC 上下文、监听器、设置过滤jsp和html、GBK编码、session时间、jsp配置标签)--->JdbcTemplate及数据库配置

--->tomcat部署项目--->编码(pojo、persistence、service、controller、jsp)

学习收获(走过的坑)

1.Tomcat Context配置[2]:使用配置文件部署项目失败(预备知识->了解tomcat 部署项目三种方式)

2.Controller中的错误信息无法在传递到前台弹出

//error.cardType从配置文件读取,通过RedirectAttribute传递
RedirectAttributes att-->att.addAttribute("errorMessage", resource.getMessage("error.cardType", new Object[] {},LocaleContextHolder.getLocale()));
//通过model传递到前台,两步缺一不可
model.addAttribute("errorMessage", request.getParameter("errorMessage"));

3.URI中含有中文,而web.xml已经对处理为GBK,但仍未乱码

考虑到别的项目也会用到tomcat安装目录/conf/server.xml中的URIEncoding的值

所以才去下面的方法处理:

首先控制台得到Request中的编码,这样可以针对做处理--->log.debug(request.getCharacterEncoding());

之后就好办了,用到java中基本的编码转换,即可解决--->new String(str.getBytes("GBK"), "UTF-8")

4.SpringMVC @PathVariable中含有特殊字符(;\/‘#%)不包括括号的处理

在前台可以处理的逻辑,尽量放在前台

JS判断是否包含特殊字符 [3]

@RequestMapping的REST风格[4]:说明了正则表达式

SpringMVC @PathVariable 中含有中文和点号[5]:配置文件是中文的情况

5.SpringMVC 正确显示自定义的中文信息[6]

6.做网站,很容易忽视的问题--->404、500错误

-----------------------------2014年4月30日更新:关于ThreadPoolExecutor线程池中corePoolSize值得问题-----------------------------

7.Rules of a ThreadPoolExecutor pool size[17]:文章从两个角度讲述了ThreadPoolExecutor 中的线程数增长问题,值得一读

8.What is the difference between corePoolSize and maxPoolSize in the Spring ThreadPoolTaskExecutor[18]:其中比较不错的回答,corePoolSize不是越多越好,

要适度,而且在调整corePoolSize之前,先要确定程序本身是否有问题,corePoolSize的配置在客户现场方面不带有很大的不确定性,你也不可能每次请求都修改corePoolSize的值

最佳实践

1.虽然项目是完成了,但是仍然对spring MVC整体的认识不是很清楚,推荐看(spring官方文档[1])

2.Spring MVC 教程,快速入门,深入分析[7],讲述了spring MVC中的各大要点,可以在看完基础之后,拿这个当手册看。

3.跟开涛学SpringMVC[8]:这个事学习spring mvc不错的系列,另外参考spring官方可以让你掌握这门技术

4.基于spring3.0.5 mvc 简单用户管理实例[9]:博主推荐看spring官方文档

5.Spring 注解学习手札(二) 控制层梳理[10]:博主的文章会很有调理,不错

6.Spring 3.x MVC 入门系列[11]:讲解的很透彻,尤其是配图很好,很清晰

7.Ajax无刷新表格行内编辑源码带数据库[12]:实现行内编辑效果

8.Java servlet+Ajax 用户管理(完全无刷新增删改查及分页)[13]:不是任何时候都会用到ajax,页面中有很多区域,只需要刷新某个区域的时候,要用到。

9.jQuery Ajax 英文官方api[14]中文API[15]

10.jQuery Ajax 全解析[16]:详细解释了每个函数,并配有实时例子讲解,来加深理解

参考文献

[1].spring 3.1.1官方文档

[2].Tomcat Context配置

[3].JS判断是否包含特殊字符

[4].@RequestMapping的REST风格

[5].SpringMVC @PathVariable 中含有中文和点号

[6].SpringMVC 正确显示自定义的中文信息

[7].Spring MVC 教程,快速入门,深入分析

[8].跟开涛学SpringMVC

[9].基于spring3.0.5 mvc 简单用户管理实例

[10].Spring 注解学习手札(二) 控制层梳理

[11].Spring 3.x MVC 入门系列

[12].Ajax无刷新表格行内编辑源码带数据库

[13].Java servlet+Ajax 用户管理(完全无刷新增删改查及分页)

[14].jQuery Ajax 官方api

[15].jQuery Ajax 中文api

[16].jQuery Ajax 全解析

[17].Rules of a ThreadPoolExecutor pool size

[18].What is the difference between corePoolSize and maxPoolSize in the Spring ThreadPoolTaskExecutor

时间: 2024-10-11 16:46:47

[一站式服务]Spring MVC实现简单CURD项目的相关文章

用Spring MVC开发简单的Web应用

这个例子是来自于Gary Mak等人写的Spring攻略(第二版)第八章Spring @MVC中的一个例子,在此以学习为目的进行记录. 问题:想用Spring MVC开发一个简单的Web应用, 学习这个框架的基本概念和配置. 解决方案: Spring MVC的核心组件是一个控制器(大多数框架都是控制器比较重要吧). 在最简单的Spring MVC应用中,控制器是需要在web.xml文件中配置的唯一Servlet. Spring MVC的控制器通常称作请求分发Servlet(Dispatcher

spring mvc配置文件简单实现

ContextLoaderListener:Spring MVC在Web容器中的启动类,负责Spring IoC容器在Web上下文中的初始化,使得容器能够自动装配ApplicationContext的配置信息. 在web.xml中配置该类: <listener> <listener-class>org.springframework.web.context.ContextLoaderListener </listener-class> </listener>

自定义 spring mvc 拦截器(近期项目需求实现)

需求背景:特定文件夹下任何文件不经过登录,全部拦截强制跳转登录,并客户端禁止下载服务器定制文件夹文件 经过1天多时间的各种尝试,自定义式的强大拦截器实现了,废话不说了,直接贴代码啦. demo: 1>   根目录下 index.html 内容: <a href="html/index.html">index</a><br/> <a href="html/login3.html">login3.html---<

Spring mvc创建的web项目,如何获知其web的项目名称,访问具体的链接地址?

我们创建的springmvc项目:jstz_random,包名:com.redin.jstz,那么其web项目的名称为jstz_random.这个也是我们访问的连接中的projectname 1.可以通过查看web属性来找到web项目名称 右击项目--> Properties-->web Project Settings,即可看到web项目名称.其实项目名称为:zjrandom,这种设置也是挺坑人的. 当然这里也可以进行修改. 2.通过服务启动日志,重新编译,重新load的时候可看到 当然细心

IDEA创建一个Spring MVC 框架Java Web项目,Gradle构建

注:此篇有些细节没写出,此文主要写重要的环节和需要注意的地方,轻喷 新建项目 选择Gradle , 勾选java 和 web.之后就是设定项目路径和名称,这里就不啰嗦了. build.gradle文件下导入所需要的包,刷新一下. 1 group 'com.benjious.createTest' 2 version '1.0-SNAPSHOT' 3 4 apply plugin: 'java' 5 apply plugin: 'war' 6 7 sourceCompatibility = 1.8

分布式服务--spring mvc +mybatis + Dubbo+Zookeeper+Proxy+Restful

云服务 子系统:后台管理系统.Restfu服务系统.Dubbo服务/管控/监控中心 Zookeeper注册中心.报表分析系统.日志记录系统.定时调度系统 搜索引擎系统.分布式文件系统.消息系统.SSO单点登录系统 SOA管控平台.UI组件系统.OA办公系统.CMS新闻发布系统 支付系统.数据库配置系统.工作流系统.云服务平台 想了解更多详细请点击源码地址获取:mingli 有兴趣的朋友们可以前往球球哦~一起分享学习技术:2042849237

Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合

项目环境背景: 操作系统:win7 JDK:1.7 项目目录截图: 相关依赖包,截图如下:

Spring MVC的简单用法

一.Multiaction Controller package cn.framelife.mvc.control; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.sprin

基于Spring MVC的简单HelloWorld实例

1.导包 2.web.xml文件配置 3.包结构定义以及控制器的编写 4.xxxx-servlet文件配置   5.返回的视图(jsp)编写 6.源码 下载:http://download.csdn.net/download/techbirds_bao/4934704