Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Spring MVC ¹¹½¨ÈëÃż¶ Web Ó¦ÓóÌÐò
 
ÒëÕߣº¹â»ÔÓÂÊ¿ À´Ô´£ºNetty project ·¢²¼ÓÚ 2015-6-26
  4118  次浏览      27
 

ÔÚ±¾ÀýÖУ¬ÎÒÃǽ«Ê¹ÓÃSpring MVC¿ò¼Ü¹¹½¨Ò»¸öÈëÃż¶webÓ¦ÓóÌÐò¡£Spring MVC ÊÇSpring¿ò¼Ü×îÖØÒªµÄµÄÄ£¿éÖ®Ò»¡£ËüÒÔÇ¿´óµÄSpring IoCÈÝÆ÷Ϊ»ù´¡£¬²¢³ä·ÖÀûÓÃÈÝÆ÷µÄÌØÐÔÀ´¼ò»¯ËüµÄÅäÖá£

MVC¿ò¼ÜÊÇʲô

Ä£ÐÍ-ÊÓͼ-¿ØÖÆÆ÷£¨MVC£©ÊÇÒ»¸öÖÚËùÖÜÖªµÄÒÔÉè¼Æ½çÃæÓ¦ÓóÌÐòΪ»ù´¡µÄÉè¼ÆÄ£Ê½¡£ËüÖ÷Ҫͨ¹ý·ÖÀëÄ£ÐÍ¡¢ÊÓͼ¼°¿ØÖÆÆ÷ÔÚÓ¦ÓóÌÐòÖеĽÇÉ«½«ÒµÎñÂß¼­´Ó½çÃæÖнâñͨ³££¬Ä£Ð͸ºÔð·â×°Ó¦ÓóÌÐòÊý¾ÝÔÚÊÓͼ²ãչʾ¡£ÊÓͼ½ö½öÖ»ÊÇչʾÕâЩÊý¾Ý£¬²»°üº¬ÈκÎÒµÎñÂß¼­¡£¿ØÖÆÆ÷¸ºÔð½ÓÊÕÀ´×ÔÓû§µÄÇëÇ󣬲¢µ÷Óúǫ́·þÎñ£¨manager»òÕßdao£©À´´¦ÀíÒµÎñÂß¼­¡£´¦Àíºó£¬ºǫ́ҵÎñ²ã¿ÉÄܻ᷵»ØÁËһЩÊý¾ÝÔÚÊÓͼ²ãչʾ¡£¿ØÖÆÆ÷ÊÕ¼¯ÕâЩÊý¾Ý¼°×¼±¸Ä£ÐÍÔÚÊÓͼ²ãչʾ¡£MVCģʽµÄºËÐÄ˼ÏëÊǽ«ÒµÎñÂß¼­´Ó½çÃæÖзÖÀë³öÀ´£¬ÔÊÐíËüÃǵ¥¶À¸Ä±ä¶ø²»»áÏ໥ӰÏì¡£

ÔÚSpring MVCÓ¦ÓóÌÐòÖУ¬Ä£ÐÍͨ³£ÓÉPOJO¶ÔÏó×é³É£¬ËüÔÚÒµÎñ²ãÖб»´¦Àí£¬Ôڳ־òãÖб»³Ö¾Ã»¯¡£ÊÓͼͨ³£ÊÇÓÃJSP±ê×¼±êÇ©¿â£¨JSTL£©±àдµÄJSPÄ£°å¡£¿ØÖÆÆ÷²¿·ÖÊÇÓÉdispatcher servlet¸ºÔð£¬ÔÚ±¾½Ì³ÌÖÐÎÒÃǽ«»áÁ˽â¸ü¶àËüµÄÏà¹ØÏ¸½Ú¡£

һЩ¿ª·¢ÈËÔ±ÈÏΪҵÎñ²ãºÍDAO²ãÀàÊÇMVCÄ£ÐÍ×é¼þµÄÒ»²¿·Ö¡£ÎҶԴ˳ÖÓв»Í¬µÄÒâ¼û¡£ÎÒ²»ÈÏΪҵÎñ²ã¼°DAO²ãÀàΪMVC¿ò¼ÜµÄÒ»²¿·Ö¡£Í¨³£Ò»¸öwebÓ¦ÓÃÊÇ3²ã¼Ü¹¹£¬¼´Êý¾Ý-ÒµÎñ-±íʾ¡£MVCʵ¼ÊÉÏÊDZíʾ²ãµÄÒ»²¿·Ö¡£

Dispatcher Servlet(Spring¿ØÖÆÆ÷)

ÔÚ×î¼òµ¥µÄSpring MVCÓ¦ÓóÌÐòÖУ¬¿ØÖÆÆ÷ÊÇΨһµÄÄãÐèÒªÔÚJava web²¿ÊðÃèÊöÎļþ£¨¼´web.xmlÎļþ£©ÖÐÅäÖõÄServlet¡£Spring MVC¿ØÖÆÆ÷ ¡ª¡ªÍ¨³£³Æ×÷Dispatcher Servlet£¬ÊµÏÖÁËǰ¶Ë¿ØÖÆÆ÷Éè¼ÆÄ£Ê½¡£²¢ÇÒÿ¸öwebÇëÇó±ØÐëͨ¹ýËüÒÔ±ãËüÄܹ»¹ÜÀíÕû¸öÇëÇóµÄÉúÃüÖÜÆÚ¡£

µ±Ò»¸öwebÇëÇó·¢Ë͵½Spring MVCÓ¦ÓóÌÐò£¬dispatcher servletÊ×ÏȽÓÊÕÇëÇó¡£È»ºóËü×éÖ¯ÄÇЩÔÚSpring webÓ¦ÓóÌÐòÉÏÏÂÎÄÅäÖõģ¨ÀýÈçʵ¼ÊÇëÇó´¦Àí¿ØÖÆÆ÷ºÍÊÓͼ½âÎöÆ÷£©»òÕßʹÓÃ×¢½âÅäÖõÄ×é¼þ£¬ËùÓеÄÕâЩ¶¼ÐèÒª´¦Àí¸ÃÇëÇó¡£

ÔÚSpring3.0Öж¨ÒåÒ»¸ö¿ØÖÆÆ÷À࣬Õâ¸öÀà±ØÐë±êÓÐ@Controller×¢½â¡£µ±ÓÐ@Controller×¢½âµÄ¿ØÖÆÆ÷ÊÕµ½Ò»¸öÇëÇóʱ£¬Ëü»áѰÕÒÒ»¸öºÏÊʵÄhandler·½·¨È¥´¦ÀíÕâ¸öÇëÇó¡£Õâ¾ÍÐèÒª¿ØÖÆÆ÷ͨ¹ýÒ»¸ö»ò¶à¸öhandlerÓ³ÉäÈ¥°Ñÿ¸öÇëÇóÓ³Éäµ½handler·½·¨¡£ÎªÁËÕâÑù×ö£¬Ò»¸ö¿ØÖÆÆ÷ÀàµÄ·½·¨ÐèÒª±»@RequestMapping×¢½â×°ÊΣ¬Ê¹ËüÃdzÉΪhandler·½·¨¡£

handler·½·¨´¦ÀíÍêÇëÇóºó£¬Ëü°Ñ¿ØÖÆÈ¨Î¯ÍиøÊÓͼÃûÓëhandler·½·¨·µ»ØÖµÏàͬµÄÊÓͼ¡£ÎªÁËÌṩһ¸öÁé»îµÄ·½·¨£¬Ò»¸öhandler·½·¨µÄ·µ»ØÖµ²¢²»´ú±íÒ»¸öÊÓͼµÄʵÏÖ¶øÊÇÒ»¸öÂß¼­ÊÓͼ£¬¼´Ã»ÓÐÈκÎÎļþÀ©Õ¹Ãû¡£Äã¿ÉÒÔ½«ÕâЩÂß¼­ÊÓͼӳÉäµ½ÕýÈ·µÄʵÏÖ£¬²¢½«ÕâЩʵÏÖдÈëµ½ÉÏÏÂÎÄÎļþ£¬ÕâÑùÄã¾Í¿ÉÒÔÇáËɵĸü¸ÄÊÓͼ²ã´úÂëÉõÖÁ²»ÓÃÐÞ¸ÄÇëÇóhandlerÀàµÄ´úÂë¡£

Ϊһ¸öÂß¼­Ãû³ÆÆ¥ÅäÕýÈ·µÄÎļþÊÇÊÓͼ½âÎöÆ÷µÄÔðÈΡ£Ò»µ©¿ØÖÆÆ÷ÀàÒѽ«Ò»¸öÊÓͼÃû³Æ½âÎöµ½Ò»¸öÊÓͼʵÏÖ¡£Ëü»á¸ù¾ÝÊÓͼʵÏÖµÄÉè¼ÆÀ´äÖȾ¶ÔÓ¦¶ÔÏó¡£

SpringÈëÃÅʾÀý

ÔÚÕâ¸öÓ¦ÓóÌÐòÖУ¬ÎÒ½«´´½¨×î¼òµ¥µÄÔ±¹¤¹ÜÀíÓ¦ÓóÌÐòµÄÑÝʾ£¬ËüÖ»ÓÐÒ»¸ö¹¦ÄÜ£¬¼´ÏµÍ³ÌṩµÄËùÓйÍÔ±µÄÁÐ±í¡£ÈÃÎÒÃǼÇÏ´ËÓ¦ÓóÌÐòµÄĿ¼½á¹¹¡£

ÏÖÔÚÈÃÎÒÃDZàдËùÓÐÉæ¼°Õâ¸öÈëÃÅÓ¦ÓóÌÐòµÄÎļþ¡£

pom.xml

ÒÔÏÂpom.xmlÎļþÖаüº¬spring mvcÒÀÀµ¼°Îª±àдjspÎļþÌṩ֧³ÖµÄtaglibÏà¹ØÒÀÀµ

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.howtodoinjava.demo</groupId>
<artifactId>springmvcexample</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>springmvcexample Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>

<!-- Spring MVC support -->

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>

<!-- Tag libs support for view layer -->

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
<scope>runtime</scope>
</dependency>

</dependencies>

<build>
<finalName>springmvcexample</finalName>
</build>
</project>

web.xml

Õâ×¼òµÄweb.xmlÎļþÉùÃ÷ÁËÒ»¸öServlet£¨¼´dispatcher servlet£©À´½ÓÊÕËùÓÐÀàÐ͵ÄÇëÇó¡£Dispatcher servletÔÚÕâÀï³äµ±Ç°¶Ë¿ØÖÆÆ÷µÄ½ÇÉ«¡£

<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<display-name>Spring Web MVC Hello World Application</display-name>

<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

</web-app>

spring-servlet.xml£¨ÄãÒ²¿ÉÒÔÓÃapplicationContext.xmlÎļþ£©

ÔÚÇëÇóhandler¡¢ÒµÎñ²ã¡¢dao²ã£¬ÎÒÃÇʹÓôø×¢½âµÄÀ࣬ËùÒÔÎÒΪ¡°com.howtodoinjava.demo¡±°üÀïµÄËùÓÐÀàÆôÓÃÁË×¢½â´¦Àí

<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<display-name>Spring Web MVC Hello World Application</display-name>

<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

</web-app>

EmployeeController.java

×¢½â@RequestMappingÔÚÀ༶±ðºÍ·½·¨¼¶±ð²ãÃæÈ·¶¨½«±»µ÷Ó÷½·¨µÄURL¡£

<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"
xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd


http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<context:component-scan base-package="com.howtodoinjava.demo" />

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>

</beans>

ÔĶÁ¸ü¶à£ºÈçºÎʹÓÃ@Component¡¢@Respository¡¢@Service¼°@Controller×¢½â£¿

EmployeeVO.java

Õâ¸öÀà×÷ΪMVCģʽµÄÄ£ÐÍ¡£

package com.howtodoinjava.demo.model;

import java.io.Serializable;

public class EmployeeVO implements Serializable
{
private static final long serialVersionUID = 1L;

private Integer id;
private String firstName;
private String lastName;

//Setters and Getters

@Override
public String toString() {
return "EmployeeVO [id=" + id + ", firstName=" + firstName
+ ", lastName=" + lastName + "]";
}
}

EmployeeDAO.java

Õâ¸öÀàλÓÚÈý²ã¼Ü¹¹ÖеĵÚÈý²ã¡£¸ºÔðÓëµ×²ãµÄÊý¾Ý¿â´æ´¢½øÐн»»¥¡£

import java.util.List;

import com.howtodoinjava.demo.model.EmployeeVO;

public interface EmployeeDAO
{
public List<EmployeeVO> getAllEmployees();
}

EmployeeDAOImpl.java

import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Repository;

import com.howtodoinjava.demo.model.EmployeeVO;

@Repository
public class EmployeeDAOImpl implements EmployeeDAO {

public List<EmployeeVO> getAllEmployees()
{
List<EmployeeVO> employees = new ArrayList<EmployeeVO>();

EmployeeVO vo1 = new EmployeeVO();
vo1.setId(1);
vo1.setFirstName("Lokesh");
vo1.setLastName("Gupta");
employees.add(vo1);

EmployeeVO vo2 = new EmployeeVO();
vo2.setId(2);
vo2.setFirstName("Raj");
vo2.setLastName("Kishore");
employees.add(vo2);

return employees;
}
}

EmployeeManager.java

Õâ¸öÀà´¦ÓÚÈý²ã¼Ü¹¹Öеĵڶþ²ã¡£¸ºÔðÓëDAO²ã½»»¥¡£

import java.util.List;

import com.howtodoinjava.demo.model.EmployeeVO;

public interface EmployeeManager
{
public List<EmployeeVO> getAllEmployees();
}

EmployeeManagerImpl.java

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.howtodoinjava.demo.dao.EmployeeDAO;
import com.howtodoinjava.demo.model.EmployeeVO;

@Service
public class EmployeeManagerImpl implements EmployeeManager {

@Autowired
EmployeeDAO dao;

public List<EmployeeVO> getAllEmployees()
{
return dao.getAllEmployees();
}
}

employeesListDisplay.jsp

Õâ¸öjsp±»ÓÃÓÚÏÔʾϵͳÖеÄËùÓÐÔ±¹¤¡£ËüÑ­»·±éÀúemployee¼¯ºÏ£¬²¢ÇÒÔÚÒ»¸ö±íÖдòÓ¡ËûÃǵÄÏêϸÐÅÏ¢¡£Õâ·ûºÏMVCģʽµÄÊÓͼ²ã¡£

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

<html>
<head>
<title>Spring MVC Hello World</title>
</head>

<body>
<h2>All Employees in System</h2>

<table border="1">
<tr>
<th>Employee Id</th>
<th>First Name</th>
<th>Last Name</th>
</tr>
<c:forEach items="${employees}" var="employee">
<tr>
<td>${employee.id}</td>
<td>${employee.firstName}</td>
<td>${employee.lastName}</td>
</tr>
</c:forEach>
</table>

</body>
</html>

ÏÖÔÚÔÚÄúµÄÓ¦ÓóÌÐò·þÎñÆ÷£¨ÎÒÓõÄÊÇtomcat 7£©²¿ÊðÓ¦ÓóÌÐò¡£²¢µã»÷¡°http://localhost:8080/springmvcexample/employee-module/getAllEmployees¡±¡£Èç¹ûÄãÒÑÕýÈ·ÅäÖÃËùÓÐÄÚÈÝ£¬Ä㽫»áÔÚÆÁĻϿ´µ½£º

   
4118 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Java΢·þÎñÐÂÉú´úÖ®Nacos
ÉîÈëÀí½âJavaÖеÄÈÝÆ÷
JavaÈÝÆ÷Ïê½â
Java´úÂëÖÊÁ¿¼ì²é¹¤¾ß¼°Ê¹Óð¸Àý
Ïà¹ØÎĵµ

JavaÐÔÄÜÓÅ»¯
Spring¿ò¼Ü
SSM¿ò¼Ü¼òµ¥¼òÉÜ
´ÓÁ㿪ʼѧjava±à³Ì¾­µä
Ïà¹Ø¿Î³Ì

¸ßÐÔÄÜJava±à³ÌÓëϵͳÐÔÄÜÓÅ»¯
JavaEE¼Ü¹¹¡¢ Éè¼ÆÄ£Ê½¼°ÐÔÄܵ÷ÓÅ
Java±à³Ì»ù´¡µ½Ó¦Óÿª·¢
JAVAÐéÄâ»úÔ­ÀíÆÊÎö
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

Java ÖеÄÖÐÎıàÂëÎÊÌâ
Java»ù´¡ÖªÊ¶µÄÈýÊ®¸ö¾­µäÎÊ´ð
Íæ×ª Java Web Ó¦Óÿª·¢
ʹÓÃSpring¸üºÃµØ´¦ÀíStruts
ÓÃEclipse¿ª·¢iPhone WebÓ¦ÓÃ
²å¼þϵͳ¿ò¼Ü·ÖÎö

Struts+Spring+Hibernate
»ùÓÚJ2EEµÄWeb 2.0Ó¦Óÿª·¢
J2EEÉè¼ÆÄ£Ê½ºÍÐÔÄܵ÷ÓÅ
Java EE 5ÆóÒµ¼¶¼Ü¹¹Éè¼Æ
Javaµ¥Ôª²âÊÔ·½·¨Óë¼¼Êõ
Java±à³Ì·½·¨Óë¼¼Êõ

Struts+Spring+Hibernate/EJB+ÐÔÄÜÓÅ»¯
»ªÏÄ»ù½ð ActiveMQ Ô­ÀíÓë¹ÜÀí
ijÃñº½¹«Ë¾ Java»ù´¡±à³Ìµ½Ó¦Óÿª·¢
ij·çµç¹«Ë¾ Java Ó¦Óÿª·¢Æ½Ì¨ÓëÇ¨ÒÆ
ÈÕÕÕ¸Û J2EEÓ¦Óÿª·¢¼¼Êõ¿ò¼ÜÓëʵ¼ù
ij¿ç¹ú¹«Ë¾ ¹¤×÷Á÷¹ÜÀíJBPM
¶«·½º½¿Õ¹«Ë¾ ¸ß¼¶J2EE¼°ÆäÇ°ÑØ¼¼Êõ