spring mvc 多数据源mvc有前缀名怎么显示数据

今天看啥 热点:
springMVC之增删改查(RESTful),springmvcrestful
一、核心原理
1. 用于发送请求给服务器: /home.htm
2. 请求被DispatchServlet拦截到
3. DispatchServlet通过HandleMapping检查url有没有对应的Controller, 如果有则调用Controller
4. Controller开始执行业务逻辑
5. Controller执行完毕后, 如果返回字符串, 则ViewResolver将字符串转化成相应的视图对象;
如果返回ModelAndView对象, 该对象本身就包含了视图对象信息.
6. DispatchServlet将视图对象中的数据输出给服务器.
7. 服务器将数据输出给客户端.
二、REST风格
传统: &/user_query?id=123
rest: /user/123
传统: &/user_delete?id=123
rest: /user/123/delete
传统: &/user_update?id=123
rest: /user/123/update
传统: &/user_list
rest: /user/users
三、增删改查
1. 代码结构
2. web.xml 配置DispatchServlet
&?xml version=&1.0& encoding=&UTF-8&?&
&web-app xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xmlns=&/xml/ns/javaee&
xsi:schemaLocation=&/xml/ns/javaee
/xml/ns/javaee/web-app_2_5.xsd& id=&WebApp_ID& version=&2.5&&
&!-- user需要和配置文件user-servlet.xml名字对应 --&
&servlet-name&user&/servlet-name&
&servlet-class&org.springframework.web.servlet.DispatcherServlet&/servlet-class&
&load-on-startup&1&/load-on-startup&
&/servlet&
&servlet-mapping&
&servlet-name&user&/servlet-name&
&url-pattern&/&/url-pattern&
&/servlet-mapping&
&!-- 配置过滤器, 设置编码为UTF-8 --&
&filter-name&CharacterFilter&/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-mapping&
&filter-name&CharacterFilter&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
&/web-app&
3.&user-servlet.xml
&?xml version=&1.0& encoding=&UTF-8&?&
&beans xmlns=&http://www.springframework.org/schema/beans&
xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xmlns:context=&http://www.springframework.org/schema/context&
xmlns:mvc=&http://www.springframework.org/schema/mvc&
xsi:schemaLocation=&http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd&&
&!-- spring扫描的包 --&
&context:component-scan base-package=&com.zdp&&&/context:component-scan&
&!-- 使用spring注解 --&
&mvc:annotation-driven /&
&!-- 设置返回url前缀和后缀 --&
&bean class=&org.springframework.web.servlet.view.InternalResourceViewResolver&&
&property name=&viewClass& value=&org.springframework.web.servlet.view.JstlView&/&
&property name=&prefix& value=&/WEB-INF/jsp/&&&/property&
&property name=&suffix& value=&.jsp&&&/property&
&!-- 指明静态资源位置 --&
&mvc:resources location=&/WEB-INF/resources/& mapping=&/resources/**&/&
4. User.java
public class User {
public User() {
public User(String username, String password) {
this.username =
this.password =
@NotEmpty(message=&用户名不能为空&)
public String getUsername() {
public void setUsername(String username) {
this.username =
@Size(min=1,max=10,message=&密码的长度应该在1和10之间&)
public String getPassword() {
public void setPassword(String password) {
this.password =
5. UserController.java
@Controller
@RequestMapping(&/user&)
public class UserController {
// 使用map模拟数据库
private Map&String, User& userMap = new HashMap&String, User&();
public UserController() {
userMap.put(&zhangsan&, new User(&zhangsan&, &123&));
userMap.put(&lishimin&, new User(&lishimin&, &456&));
// 获取用户列表
// 访问方法: http://localhost/springmvc_user/user/users
@RequestMapping(value = &/users&, method = RequestMethod.GET)
public String list(Model model) {
model.addAttribute(&users&, userMap);
return &/user/list&;
// 跳转到添加用户页面(get请求)
// 访问方法: http://localhost/springmvc_user/user/add
@RequestMapping(value = &/add&, method = RequestMethod.GET)
public String add(@ModelAttribute(&user&) User user) {
return &user/add&;
// 具体的添加用户处理方法(post请求)
// 注意: BindingResult必须在User之后, 中间不能有其他的参数
@RequestMapping(value = &/add&, method = RequestMethod.POST)
public String add(@Validated User user, BindingResult br) throws IOException { // @Validated: 对User数据进行校验
if (br.hasErrors()) {
return &user/add&; // 如果有错误, 则直接跳转到add添加用户页面
userMap.put(user.getUsername(), user);
return &redirect:/user/users&; // 重定向到用户列表页面
// 查看用户信息
// 访问方法: http://localhost/springmvc_user/user/zhangsan
@RequestMapping(value=&/{username}&, method=RequestMethod.GET)
public String show(@PathVariable String username, Model model) { // @PathVariable: 路径里面的值作为参数
model.addAttribute(userMap.get(username));
return &user/show&;
// 跳转到修改用户信息页面
// 访问方法: http://localhost/springmvc_user/zhangsan/update
@RequestMapping(value=&/{username}/update&, method=RequestMethod.GET)
public String update(@PathVariable String username, Model model) { // @PathVariable: 路径里面的值作为参数
model.addAttribute(userMap.get(username)); // 等同: model.addAttribute(&user&, userMap.get(username));
return &user/update&;
// 具体的修改用户处理方法(post请求)
// 注意: BindingResult必须在User之后, 中间不能有其他的参数
@RequestMapping(value=&/{username}/update&, method=RequestMethod.POST)
public String update(@PathVariable String username, @Validated User user, BindingResult br) {
if(br.hasErrors()) {
return &user/update&; // 如果有错误, 则直接跳转到update修改用户页面
userMap.remove(username);
userMap.put(user.getUsername(), user);
return &redirect:/user/users&;
// 删除用户信息
// 访问方法: http://localhost/springmvc_user/zhangsan/delete
@RequestMapping(value=&/{username}/delete&,method=RequestMethod.GET)
public String delete(@PathVariable String username) {
userMap.remove(username);
return &redirect:/user/users&;
6. jsp pages
① list.jsp
&%@ page language=&java& contentType=&text/ charset=UTF-8& pageEncoding=&UTF-8&%&
&%@taglib prefix=&c& uri=&/jsp/jstl/core& %&
&!DOCTYPE html PUBLIC &-//W3C//DTD HTML 4.01 Transitional//EN& &http://www.w3.org/TR/html4/loose.dtd&&
&meta http-equiv=&Content-Type& content=&text/ charset=UTF-8&&
&title&用户列表 &/title&
&!-- 引入静态文件, 需要在user-servlet.xml配置映射关系 --&
&link rel=&stylesheet& href=&&%=request.getContextPath()%&/resources/css/main.css& type=&text/css&&
&a href=&add&&添加&/a&
&c:forEach items=&${users}& var=&usermap&&
&a href=&${usermap.value.username}&&${usermap.value.username}&/a&
-- &a href=&${usermap.value.username}/update&&修改&/a&
-- &a href=&${usermap.value.username}/delete&&删除&/a&&br/&
&/c:forEach&
② add.jsp
&%@ page language=&java& contentType=&text/ charset=UTF-8& pageEncoding=&UTF-8&%&
&%@ taglib prefix=&sf& uri=&http://www.springframework.org/tags/form& %&
&!DOCTYPE html PUBLIC &-//W3C//DTD HTML 4.01 Transitional//EN& &http://www.w3.org/TR/html4/loose.dtd&&
&meta http-equiv=&Content-Type& content=&text/ charset=UTF-8&&
&title&添加用户&/title&
&!-- 如没写action, 也会提交给add(匹配文件名) --&
&sf:form method=&post& modelAttribute=&user& action=&add&&
Username:&sf:input path=&username&/&&sf:errors path=&username&/&&br/&
Password:&sf:password path=&password&/&&sf:errors path=&password&/&&br/&
&input type=&submit& value=&添加用户&/&
&/sf:form&
&/html&③ show.jsp
&%@ page language=&java& contentType=&text/ charset=UTF-8& pageEncoding=&UTF-8&%&
&%@ taglib prefix=&sf& uri=&http://www.springframework.org/tags/form& %&
&!DOCTYPE html PUBLIC &-//W3C//DTD HTML 4.01 Transitional//EN& &http://www.w3.org/TR/html4/loose.dtd&&
&meta http-equiv=&Content-Type& content=&text/ charset=UTF-8&&
&title&用户详细信息&/title&
Username:${user.username}&br/&
Password:${user.password}&br/&
&/html&④ update.jsp
&%@ page language=&java& contentType=&text/ charset=UTF-8& pageEncoding=&UTF-8&%&
&%@ taglib prefix=&sf& uri=&http://www.springframework.org/tags/form& %&
&!DOCTYPE html PUBLIC &-//W3C//DTD HTML 4.01 Transitional//EN& &http://www.w3.org/TR/html4/loose.dtd&&
&meta http-equiv=&Content-Type& content=&text/ charset=UTF-8&&
&title&修改用户&/title&
&!-- 如没写action, 也会提交给update(匹配文件名) --&
&sf:form method=&post& modelAttribute=&user& action=&update&&
Username:&sf:input path=&username&/&&sf:errors path=&username&/&&br/&
Password:&sf:password path=&password&/&&sf:errors path=&password&/&&br/&
&input type=&submit& value=&修改用户&/&
&/sf:form&
1)在applicationContext里面配置Hibernate的dataSource和SessionFactory2)编写Dao的接口是实现类。如果用到Spring的Hibernate的操作模板(HibernateTemplate)可以继承HibernateDaoSupport,实现类注解成@Repository3)编写Action,然后注解成@Controller,在Action里面需要用@Autowired注入Dao的实例4)配置applicationContext.xml,加上Spring MVC的视图处理器5)编写页面,然后提交请求。搞定!
www.blogjava.net/...=admin
发你邮箱了
暂无相关文章
相关搜索:
相关阅读:
相关频道:
&&&&&&&&&&&&&&&&
WEB编程教程最近更新<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&}

我要回帖

更多关于 spring mvc 数据校验 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信