溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何搭建SpringMVC實現(xiàn)子上下文啟動

發(fā)布時間:2021-10-12 10:47:14 來源:億速云 閱讀:190 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“如何搭建SpringMVC實現(xiàn)子上下文啟動”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

  1. pom.xml

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.hqt.toy</groupId>
  <artifactId>toy01</artifactId>
  <version>0.0.1-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>6</source>
                    <target>6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <packaging>war</packaging>
  
  <properties>
  	<spring.version>4.3.7.RELEASE</spring.version>
	<tomcat.embed.version>8.0.28</tomcat.embed.version>
  </properties>

  <dependencies>
	  <!-- servlet api -->
	  <dependency>
		  <groupId>javax.servlet</groupId>
		  <artifactId>javax.servlet-api</artifactId>
		  <version>3.0.1</version>
	  </dependency>
	  <!-- jsp-api -->
	  <dependency>
		  <groupId>javax.servlet.jsp</groupId>
		  <artifactId>javax.servlet.jsp-api</artifactId>
		  <version>2.3.1</version>
	  </dependency>
	  <!-- springMVC -->
	  <dependency>
		  <groupId>org.springframework</groupId>
		  <artifactId>spring-webmvc</artifactId>
		  <version>${spring.version}</version>
	  </dependency>

      <!--hibernate (非必須)-->
      <dependency>
          <groupId>org.hibernate.javax.persistence</groupId>
          <artifactId>hibernate-jpa-2.0-api</artifactId>
          <version>1.0.1.Final</version>
      </dependency>

	<!-- 嵌入式tomcat依賴 -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
            <version>${tomcat.embed.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <version>${tomcat.embed.version}</version>
            <!--<scope>provided</scope>-->
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-logging-juli</artifactId>
            <version>${tomcat.embed.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.8</version>
        </dependency>
  </dependencies>
</project>
  1. web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
    <servlet>
        <!-- 配置核心控制器 -->
        <servlet-name>springmvc</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <!-- 定義加載的xml文件 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:/dispatcher-servlet.xml</param-value>
        </init-param>
        <!-- 啟動時加載 -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>
  1. dispatcher-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:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-2.5.xsd">

    <!-- 對web包中的所有類進(jìn)行掃描,以完成Bean創(chuàng)建和自動依賴注入的功能 -->
    <context:component-scan base-package="com.hqt.toy.**"/>

    <!-- 啟動Spring MVC的注解功能,完成請求和注解POJO的映射 -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

    <!--對模型視圖名稱的解析,即在模型視圖名稱添加前后綴 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:suffix=".jsp"/>
</beans>
  1. TestUserController

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/test_user.do")
public class TestUserController{
    @Autowired
    private TestUserService userService;

    @RequestMapping(params="method=user")
    public String user(TestUserEntity user, String uname, ModelMap modelMap){
        System.out.println("獲取前臺的值:"+user.getUname());
        System.out.println("String uname:"+uname);
        modelMap.addAttribute("newname", user.getUname());
        userService.add(user.getUname());
        return "index";
    }
}
  1. TestUserEntity(非必須)

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class TestUserEntity {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int id;
    private String uname;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUname() {
        return uname;
    }
    public void setUname(String uname) {
        this.uname = uname;
    }
}
  1. TestUserService(非必須)

import org.springframework.stereotype.Service;
import javax.annotation.Resource;

@Service
public class TestUserService {
    @Resource
    private TestUserDao userDao;

    public void add(String uname) {
        System.out.println("UserService.add()");
        TestUserEntity user = new TestUserEntity();
        user.setUname(uname);
        userDao.add(user);
    }
}
  1. TestUserDao(非必須)

import org.springframework.stereotype.Repository;

@Repository
public class TestUserDao {
    public void add(TestUserEntity user){
        System.out.println("TestUserDao.add()");
    }
}
  1. index.jsp

<form action="test_user.do">
    用戶名:<input type="text" name="uname" ><br/>
    <input type="hidden" name="method" value="user"/>
    <input type=submit value="提交"/>
</form>
<span>返回的用戶名:${newname}</span>

“如何搭建SpringMVC實現(xiàn)子上下文啟動”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI