SpringMVC依賴

本文爲SpringMVC的依賴相關配置

1.新建一個Maven類的Web項目

2.將依賴添加到項目中/配置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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.yc</groupId>
  <artifactId>springmvc</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>springmvc Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
    	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
		<spring.version>4.1.4.RELEASE</spring.version>
  </properties>
  
  <dependencies>
		<!-- javaEE相關的依賴 -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>4.0.0-b01</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.2.1-b03</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>

		<!-- 測試 -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>

		<!-- log4j -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
		
		<!-- mysql數據庫驅動 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.32</version>
		</dependency>
		
		<!-- druid數據源 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.23</version>
		</dependency>
		
		
		<!-- spring4 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${spring.version}</version>
		</dependency>
		
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>${spring.version}</version>
		</dependency>
		
		
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${spring.version}</version>
			<scope>test</scope>
		</dependency>
		
		<!--  事務管理的jar包-->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<!-- spring集成jdbc的jar -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>
		
		<!--springMvc的jar  -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<!-- springmvc自動轉jSON的jar包 -->
		<dependency>
		    <groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-core</artifactId>
		    <version>2.6.0</version>
		</dependency>
		<dependency>
		    <groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-annotations</artifactId>
		    <version>2.6.0</version>
		</dependency>
		<dependency>
		    <groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-databind</artifactId>
		    <version>2.6.0</version>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
		<dependency>
		    <groupId>commons-logging</groupId>
		    <artifactId>commons-logging</artifactId>
		    <version>1.1.1</version>
		</dependency>
		
		 <!-- 文件上傳 -->  
        <dependency>  
            <groupId>commons-io</groupId>  
            <artifactId>commons-io</artifactId>  
            <version>2.4</version>  
        </dependency>  
  
        <dependency>  
            <groupId>commons-fileupload</groupId>  
            <artifactId>commons-fileupload</artifactId>  
            <version>1.2.2</version>  
        </dependency>  
		
		
		<!-- mybatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.4.1</version>
		</dependency>
		<!-- mybatis集成spring的jar -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.3.0</version>
		</dependency>
		
		<!-- spring集成mybatis的jar -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>${spring.version}</version>
		</dependency>
  </dependencies>
  <build>
		<finalName>springmvcdemo</finalName>
		<plugins>
			<!-- 設置JDK版本 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<version>9.2.8.v20150217</version>
				<configuration>
					<httpConnector>
						<port>8089</port>
					</httpConnector>
					<scanIntervalSeconds>0</scanIntervalSeconds>
					<reload>manual</reload>
					<webApp>
						<contextPath>/${project.artifactId}</contextPath>
						<!-- <contextPath></contextPath> -->
						<!-- <defaultsDescriptor>src/main/webapp/WEB-INF/jetty-webdefault.xml</defaultsDescriptor> -->
					</webApp>

				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

3.在 web.xml 中配置 spring 配置文件的加載

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
	<display-name>Archetype Created Web Application</display-name>

	<!--解決中文亂碼問題 -->
	<filter>
		<filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!-- 讓web項目自動加載spring配置文件 -->
	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>

			<!-- 讓web項目加載springmvc的配置文件 -->
			<param-value>classpath:springmvc.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>

4. 寫 spring 的配置文件/springmvc.xml
(1) 配置 掃描 控制器的註解
(2) 配置 自動加載 SpringMVC 的註解掃描

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="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.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
        
<!-- spring配置文件中添加組件掃描 
		掃描這個包下的所有類-->
<context:component-scan base-package="com.yc.controller"></context:component-scan>

<!-- scpringmvc註解驅動 -->
<mvc:annotation-driven/>

	
</beans>

5. 寫控制器 這裏是寫的 UserController

package com.yc.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.yc.model.User;
import com.yc.service.UserService;

@Controller
@RequestMapping("/user/")// 根路徑

//	獲取不同detail其中{a}爲參數值可變
//	@RequestMapping(value="/detail/{a}/{b}")//多個參數寫法
	@RequestMapping(value="/detail/{a}")
	public String detail(
			@PathVariable(value="a") int id
//			,@PathVariable(value="b") int b
			){
		System.out.println("id:"+id);
		return "/user/index.jsp";
	}
	
	// 獲取頁面name屬性值
	//required=false表示值爲非必須,默認爲true(必須)
	@RequestMapping("edit")
	public String edit(
			@RequestParam(value="id",required=false) String id,
			@RequestParam(value="name",required=false) String name,
			@RequestParam(value="addr",required=false) String address,
			HttpServletRequest request,
			HttpServletResponse response
			) {
		request.setAttribute("id", id);
		request.setAttribute("name", name);
		request.setAttribute("address", address);
		System.out.println(id+name+address);
		
		return "/show.html";
	}
	

	@RequestMapping("index")// 根路徑
	public String index(){
		System.out.println("index.jsp");
		return "/index.jsp";
	}
	
	@RequestMapping("show")
	public String show(){
		System.out.println("show.html");
		return "/show.html";
	}
}

6.index.jsp

<%@ 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">
	-->
	<script type="text/javascript" src="js/jquery.min.js"></script>
	<script type="text/javascript">

		function edit(ids){
		//data:$('#myform').serialize(),
		
			var $tr=$(ids).parent().parent();
			var $allTd=$tr.find("td");
			
			var $id=$allTd.eq(0).text();
			var $name=$allTd.eq(1).text();
			var $addr=$allTd.eq(2).text();
			
				$.ajax({
					url:'user/edit.do',
					type:'post',
					datatype:'json',
					data:{'id':$id,'name':$name,'addr':$addr},
					success:function(data){
						 alert("111"); 
						/*  location.href="/springmvc/findUser.jsp"; */
					},
					error:function(data){
						/* alert(data.responseText); */
					}
				});
		}
	function save(){
		//data:$('#myform').serialize(),
				$.ajax({
					url:'user/save.do',
					type:'post',
					datatype:'html',
					data:'ids=3',
					success:function(data){
						var a = JSON.parse(data);
						var b = eval('('+data+')');
						alert(a.suc);
						alert(b.suc);
					},
					error:function(data){
						alert(data.responseText);
					}
				});
		}
		
		function show(id){
			$.ajax({
						url:'user/detail/'+id+'.do',
						type:'get',
						datatype:'json',
						data:id,
						success:function(dd){
							if(dd.res==0){
								var str="";
								str+="id:"+dd.date.id;
								str+=" name:"+dd.date.u_account;
								str+=" password:"+dd.date.u_password;
								str+=" lv:"+dd.date.u_lv;
								
								alert(str);
								
							}else{
								alert("error");
							}
							/* var a = JSON.parse(data);
							var b = eval('('+data+')');
							alert(a.suc);
							alert(b.suc); */
						},
						error:function(data){
							/*alert(data.responseText);  */
						}
					});
		//alert(id);
		//location.href="${pageContext.request.contextPath}/user/detail/"+id;
		//window.open ("${pageContext.request.contextPath}/user/detail/"+id);
		//showModalDialog("${pageContext.request.contextPath}/user/detail.do/"+id,"aa","dialogWidth:400px;dialogHeight:300px;dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes"); 
		}
		function reg(){
			location.href="${pageContext.request.contextPath}/user/findUserTPF/indexab.do";
			//location.href="${pageContext.request.contextPath}/user/reg/liquan-32.do";
		}
	</script>
  </head>
  
  <body>
    <form id="myform" action = "user/findUserByReq.do" method = "post" >
    	<label>username:</label><input type = "text" id="username" name = "username" value=""/>
    	<label>password:</label><input type = "text" id = "password" name = "password" value=""/>
    	<input type = "submit" value="submit">
    	<input type = "button" value="正則" onclick="reg()"/>
    	<input type = "button" value="save" onclick="save()"/>
    	<input type = "button" value="通配符" onclick="reg()"/>
    	<table border = "1" style="width:500px">
    		<tr><td>序號</td><td>名稱</td><td>地址</td><td>操作</td></tr>
    		<tr><td>1</td><td>aa</td><td>bb</td><td><input type = "button" value="查看" onclick="show(1)"/></td></tr>
    		<tr><td>2</td><td>aa</td><td>bb</td><td><input type = "button" value="查看" onclick="show(2)"/></td></tr>
    		<tr><td>3</td><td>aa</td><td>bb</td><td><input id="editid" type = "button" value="編輯" onclick="edit(this)" /></td></tr>
    	</table>
    	
    </form>
  </body>
</html>

7.show.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>show.html</h1>
</body>
</html>

8.findUser.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
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>finduser</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>
  	username:<%=request.getAttribute("username") %><br>
  	password:<%=request.getAttribute("password") %><br>
  	id:<%=request.getAttribute("id") %><br>
  	name:<%=request.getAttribute("name") %><br>
  	address:<%=request.getAttribute("address") %><br>
  </body>
</html>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章