SpringMVC+Mysql 실례 상세 설명(데모 첨부)
먼저 우 리 는 먼저 모델 이 무엇 인지 알 아 보 자.모델 은 바로 특정한 문 제 를 해결 하 는 방법론 이다.이런 문 제 를 해결 하 는 해결 방법 을 이론의 높이 로 정리 하 는 것 이 바로 모델 이다.모델 은 일종 의 지도 로 좋 은 지도 아래 개발 자 들 이 임 무 를 완성 하 는 데 도움 이 된다.우수한 설계 방안 을 만 들 면 적은 노력 으로 큰 효 과 를 거 둘 수 있다.그리고 문 제 를 해결 하 는 최선 의 방법 을 얻 을 수 있 을 것 이다.
화면 음악 모델 은 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이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
springmvc application/octet-stream problemmistake: Source code: Solution: Summarize: application/octet-stream is the original binary stream method. If the convers...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.