SpringMVC+Mysql 실례 상세 설명(데모 첨부)

16111 단어 springmvcmysql 실례
항상 ssh 를 사 용 했 습 니 다.회사 에서 SpringMVC 를 사용 해 야 하기 때문에 이전에 접촉 한 적 이 없 기 때문에 오늘 은 여러분 과 함께 이 프레임 워 크 를 배 워 서 업무 가 필요 합 니 다.
먼저 우 리 는 먼저 모델 이 무엇 인지 알 아 보 자.모델 은 바로 특정한 문 제 를 해결 하 는 방법론 이다.이런 문 제 를 해결 하 는 해결 방법 을 이론의 높이 로 정리 하 는 것 이 바로 모델 이다.모델 은 일종 의 지도 로 좋 은 지도 아래 개발 자 들 이 임 무 를 완성 하 는 데 도움 이 된다.우수한 설계 방안 을 만 들 면 적은 노력 으로 큰 효 과 를 거 둘 수 있다.그리고 문 제 를 해결 하 는 최선 의 방법 을 얻 을 수 있 을 것 이다.
화면 음악 모델 은 Smalltalk 언어 에서 기원 되 었 고 화면 음악 은 Model-View-Controller 의 약자 이다.화면 음악 c 는 업무 논리 인터페이스 와 데이터 인터페이스 간 의 결합 을 약화 시 켰 다.MVC 모델 을 사용 하 는 장점 은 매우 많 고 신뢰성 이 강 하 며 중용 과 적응성 이 높 으 며 비교적 낮은 생명주기 원가,신속 한 배치,유지보수 성 이 강하 다 는 등 이 있다.안의 세부 사항 은 여기에서 너무 많은 설명 을 하지 않 는 다.
SpringMVC 의 특징:
1.뚜렷 한 역할 구분,spring 은 Model,View 와 Controller 에 있어 매우 뚜렷 한 구분 을 제공 했다.이 세 가지 측면 은 진정 으로 각자 의 직책 을 맡 고 각자 의 책임 을 진다.
2.유연 한 설정 기능,Spring 의 핵심 은 IOC 이기 때문에,같은 구현 MVC 에서 도 각 종 류 를 Bean 으로 XML 을 통 해 설정 할 수 있 습 니 다.
3.대량의 컨트롤 러 인터페이스 와 실현 류 를 제공 하여 개발 자 는 Spring 이 제공 하 는 컨트롤 러 실현 류 를 사용 할 수 있 고 컨트롤 러 인 터 페 이 스 를 스스로 실현 할 수 있다.
4.SpringMVC 는 진정한 View 층 의 실현 과 관 계 없 이 개발 자 에 게 JSP 를 사용 하도록 강요 하지 않 습 니 다.우 리 는 Velocity,Xskt 등 다른 View 기술 을 사용 할 수 있 습 니 다.
5.국제 화 지원,Spring 의 Application Context 는 국제 화 에 대한 지원 을 제공 하여 이곳 에서 편리 하 게 사용 할 수 있 습 니 다.
6.인 터 페 이 스 를 대상 으로 프로 그래 밍 을 하 는데 이것 은 springMVC 의 특징 일 뿐만 아니 라 전체 Spring 을 보면 이 특징 은 매우 뚜렷 하 다.왜냐하면 개발 자 들 이 프로그램 에 대해 테스트 하기 쉽 고 편리 하 게 관리 할 수 있 기 때문이다.
7.Spring 은 웹 응용 개발 의 전체 절 차 를 제공 합 니 다.MVC 뿐만 아니 라 그들 사이 에 편리 하 게 결합 할 수 있 습 니 다.다음은 자신 이 만 든 예 가 있 습 니 다.이 예 를 들 어 SpringMVC 의 강 함 을 실 감 했 습 니 다.
다음은 우리 의 Springmvc 프로젝트 를 설정 합 니 다.
우선 WEB-INF 디 렉 터 리 에 있 는 웹.xml 을 설정 합 니 다.

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" 
 xmlns="http://java.sun.com/xml/ns/javaee" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
 <servlet> 
  <!--springmvc    DispatcherServlet,              --> 
  <servlet-name>dispatcherServlet</servlet-name> 
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
<!--     >/WEB-INF/classes/   src  --> 
  <init-param> 
  <!--   param-name   contextConfigLocation--> 
   <param-name>contextConfigLocation</param-name> 
   <param-value>/WEB-INF/classes/applicationContext.xml</param-value> 
  </init-param> 
  <load-on-startup>2</load-on-startup> 
 </servlet> 
 <!--     do     --> 
 <servlet-mapping> 
  <servlet-name>dispatcherServlet</servlet-name> 
  <url-pattern>*.do</url-pattern> 
 </servlet-mapping> 
<!--                      --> 
 <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>/*</url-pattern> 
 </filter-mapping>  
 <welcome-file-list> 
 <welcome-file>index.jsp</welcome-file> 
 </welcome-file-list> 
</web-app> 
파일 을 설정 할 때마다 서버 를 시작 해서 이상 이 있 는 지 확인 하 는 것 을 권장 합 니 다.그렇지 않 으 면 나중에 디 버 깅 과 이상 이 있 는 곳 을 찾기 어 려 울 것 입 니 다.
WEB.XML 설정 이 완료 되면 SRC 디 렉 터 리 에 db-config.properties 파일 을 만들어 서 데이터 원본 설정 정 보 를 저장 해 야 합 니 다.
내용 은 다음 과 같다.

db.url= jdbc:MySQL:///springmvcdb?useUnicode=true&characterEncoding=utf8

db.username=root

db.password=root

db.dirverClass= com.mysql.jdbc.Driver
db-config.properties 설정 이 완료 되면 applicationContext.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" 
 xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 
 <!--             --> 
 <bean 
  class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> 
 <!--        --> 
 <bean id="config" 
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
  <property name="locations"> 
   <list> 
    <value>classpath:db-config.properties</value> 
   </list> 
  </property> 
 </bean> 
 <!--       --> 
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
  <property name="driverClassName"> 
   <value>${db.dirverClass}</value> 
  </property> 
  <property name="url"> 
   <value>${db.url}</value> 
  </property> 
  <property name="username"> 
   <value>${db.username}</value> 
  </property> 
  <property name="password"> 
   <value>${db.password}</value> 
  </property> 
 </bean> 
 <!-- 
  URL                
  mappings     URL      ,       Bean  ,URL                , : 
  com/mvc/t?st.jsp:  com/mvc/test.jsp、com/mvc/tast.jsp  com/mvc /*.jsp 
  :    com/mvc/  jsp   URL com/mvc 
  /**/test.jsp:     com/mvc          test.jsp com/mvc 
  /**/*.jsp:    com/mvc          .jsp   URL cn/**/web/bla.jsp:   
  cn/option/web/dog.jsp cn/option/test/web/dog.jsp cn/web/dog.jsp    
 --> 
 <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
  <property name="mappings"> 
   <value> 
    user.do=userAction 
</value> 
  </property> 
 </bean> 
 
 <!--      internalResourceView       Servlet/jsp  --> 
 <bean id="viewResolver" 
  class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
  <property name="viewClass"> 
   <value>org.springframework.web.servlet.view.InternalResourceView 
   </value> 
  </property> 
  <!--jsp     --> 
  <property name="prefix"> 
   <value>/jsp/</value> 
  </property> 
  <!--jsp     --> 
  <property name="suffix"> 
   <value>.jsp</value> 
  </property> 
 </bean> 
 <bean id="userDao" class="com.yjde.springmvc.UserDao"> 
  <property name="dataSource"ref="dataSource"></property> 
 </bean> 
 <!--     --> 
 <bean id="userAction" class="com.yjde.springmvc.UserController"> 
  <property name="dao"> 
   <ref bean="userDao"/> 
  </property> 
  <property name="commandClass"> 
   <value>com.yjde.springmvc.UserDao</value> 
  </property> 
  <property name="viewpage"> 
   <value>userInfo</value> 
  </property> 
 </bean> 
</beans> 
applicationContext.xml 파일 이 설정 되 어 있 으 면 구체 적 인 자바 류 를 만 들 기 시작 합 니 다.Dao 류,contrller 류,PO 가 필요 합 니 다.
우 리 는 MySql 에서 USERMBO 표를 만 들 었 습 니 다.그 안에 세 개의 필드 가 있 습 니 다.USERID,USERNAME,USERAGE.
UserDao 클래스:

package com.yjde.springmvc; 
 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.util.Collection; 
import java.util.List; 
 
import org.springframework.jdbc.core.RowMapper; 
import org.springframework.jdbc.core.support.JdbcDaoSupport; 
 
@SuppressWarnings("all") 
public class UserDao extends JdbcDaoSupport { 
 private String msg; 
 
 public String getMsg() { 
  return msg; 
 } 
 
 public void setMsg(String msg) { 
  this.msg = msg; 
 } 
 
 //     USEMBO              userPO  
 public Collection<UserPO> doquery() { 
  String sql = "SELECT T.USERID,T.USERNAME,T.USERAGE FROM USERMBO T"; 
  return super.getJdbcTemplate().query(sql, new RowMapper() { 
 
   public Object mapRow(ResultSet rs, int num) throws SQLException { 
    UserPO user = new UserPO(); 
    user.setUserId(rs.getInt("USERID")); 
    user.setUserName(rs.getString("USERNAME")); 
    user.setUserAge(rs.getInt("USERAGE")); 
    return user; 
   } 
  }); 
 } 
} 
JdbcTemplate 는 코어 패키지 의 핵심 클래스 입 니 다.이것 은 우 리 를 위해 자원 의 창설 과 방출 작업 을 완성 하여 JDBC 에 대한 사용 을 간소화 시 켰 다.데이터베이스 연결 을 닫 는 것 을 잊 어 버 리 는 등 일반적인 오 류 를 피 하 는 데 도 도움 이 된다.자세 한 내용 은 API 참조
컨트롤 러 클래스:

package com.yjde.springmvc; 
 
import java.io.PrintWriter; 
import java.util.ArrayList; 
import java.util.Collection; 
import java.util.HashMap; 
import java.util.List; 
import java.util.Map; 
 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
 
 
import org.springframework.validation.BindException; 
import org.springframework.web.servlet.ModelAndView; 
import org.springframework.web.servlet.mvc.SimpleFormController; 
 
@SuppressWarnings("all") 
// SimpleFormController spring        ,    Form          bean    ,      Spring     form  Bean        ,       bean,              。 
public class UserController extends SimpleFormController { 
 private String viewpage; 
 private UserDao dao; 
 
 public String getViewpage() { 
  return viewpage; 
 } 
 
 public void setViewpage(String viewpage) { 
  this.viewpage = viewpage; 
 } 
 
 @Override 
 protected ModelAndView onSubmit(HttpServletRequest request, 
   HttpServletResponse response, Object command, BindException errors) 
   throws Exception { 
  UserDao tmp = (UserDao) command; 
  Collection<UserPO> list = dao.doquery(); 
  List<UserPO> users = new ArrayList<UserPO>(); 
  UserPO user; 
  for (UserPO userPO : list) { 
   user = new UserPO(); 
   user.setUserId(userPO.getUserId()); 
   user.setUserName(userPO.getUserName()); 
   user.setUserAge(userPO.getUserAge()); 
   users.add(user); 
  } 
  Map mp = new HashMap(); 
  mp.put("list", users); 
  return new ModelAndView(getViewpage(), mp); 
 } 
 
 public void setDao(UserDao dao) { 
  this.dao = dao; 
 } 
 
} 
package com.yjde.springmvc; 
 
public class UserPO { 
 private Integer userId; 
 private String userName; 
 private Integer userAge; 
 
 public Integer getUserId() { 
  return userId; 
 } 
 
 public void setUserId(Integer userId) { 
  this.userId = userId; 
 } 
 
 public String getUserName() { 
  return userName; 
 } 
 
 public void setUserName(String userName) { 
  this.userName = userName; 
 } 
 
 public Integer getUserAge() { 
  return userAge; 
 } 
 
 public void setUserAge(Integer userAge) { 
  this.userAge = userAge; 
 } 
} 
</pre><br> 
<p align="left"><span style="color:teal">             </span><span style="color:teal">JSP</span><span style="color:teal">    :</span></p> 
<p align="left"><span style="color:teal">Index.jsp:</span></p> 
<p align="left"><span style="color:#bf5f3f"></span></p> 
<pre name="code" class="html"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
 <head> 
 <base href="<%=basePath%>"> 
  
 <title>My JSP 'index.jsp' starting page</title> 
 <meta http-equiv="pragma" content="no-cache"> 
 <meta http-equiv="cache-control" content="no-cache"> 
 <meta http-equiv="expires" content="0">  
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
 <meta http-equiv="description" content="This is my page"> 
 <!-- 
 <link rel="stylesheet" type="text/css" href="styles.css"> 
 --> 
 </head> 
 
 <body> 
 <form action="user.do" method="post"> 
    <input name="msg" type="text" /> 
 <input type="submit" value="  "> 
 </form> 
 </body> 
</html> 
</pre><p align="left"><span style="color:teal"> </span></p> 
<p align="left"><span style="color:teal">      :</span></p> 
<p align="left"><span style="color:teal"> <img src="http://my.csdn.net/uploads/201204/24/1335237733_4732.png" alt=""></span></p> 
<p align="left"><span style="color:teal">       :</span></p> 
<p align="left"><span style="color:#008080"></span></p> 
<pre name="code" class="sql">/* 
Navicat MySQL Data Transfer 
 
Source Server   : mysql 
Source Server Version : 50145 
Source Host   : localhost:3306 
Source Database  : springmvcdb 
 
Target Server Type : MYSQL 
Target Server Version : 50145 
File Encoding   : 65001 
 
Date: 2012-04-24 10:34:25 
*/ 
 
SET FOREIGN_KEY_CHECKS=0; 
-- ---------------------------- 
-- Table structure for `usermbo` 
-- ---------------------------- 
DROP TABLE IF EXISTS `usermbo`; 
CREATE TABLE `usermbo` ( 
 `USERID` int(11) NOT NULL DEFAULT '0', 
 `USERNAME` varchar(50) DEFAULT NULL, 
 `USERAGE` int(11) DEFAULT NULL, 
 PRIMARY KEY (`USERID`) 
) ENGINE=InnoDB DEFAULTCHARSET=utf8; 
 
-- ---------------------------- 
-- Records of usermbo 
-- ---------------------------- 
INSERT INTO `usermbo` VALUES('1', '   ', '25'); 
INSERT INTO `usermbo` VALUES('2', '   ', '27'); 
INSERT INTO `usermbo` VALUES('3', '   ', '26');</pre>
실례 다운로드:demo
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기