springMVC(基于注解)
2016-04-21 17:30
513 查看
学了好久的springMVC,始终没有头绪,原因是xml配置太繁琐,现在把他整理出来(maven版本)
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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<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> <!-- 这里在配成spring,下边也要写一个名为spring-servlet.xml的文件,主要用来配置它的controller -->
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
spring_servlet.xml(一定要有handlermapping和viewresolver)
<?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-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- 把标记了@Controller注解的类转换为bean -->
<context:component-scan base-package="controller" />
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> <!-- handlerMapping -->
<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/view/" p:suffix=".jsp" />
</beans> pom.xml
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import Entity.User;
import Service.UserService;
@Controller
@RequestMapping("hello.do")
public class UserController {
@RequestMapping(params="add")
public ModelAndView add(){
User user=new User();
user.setId("001");
user.setUserName("gaohui");
user.setPass("123456");
new UserService().addUser(user);
ModelAndView model=new ModelAndView("hello");
return model;
}
}
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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<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> <!-- 这里在配成spring,下边也要写一个名为spring-servlet.xml的文件,主要用来配置它的controller -->
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
spring_servlet.xml(一定要有handlermapping和viewresolver)
<?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-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- 把标记了@Controller注解的类转换为bean -->
<context:component-scan base-package="controller" />
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> <!-- handlerMapping -->
<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/view/" p:suffix=".jsp" />
</beans> 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.langchao</groupId> <artifactId>Spring_mvc</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>Spring_mvc Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.9.RELEASE</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.1.6.RELEASE</version> </dependency> </dependencies> <build> <finalName>Spring_mvc</finalName> </build> </project>java代码
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import Entity.User;
import Service.UserService;
@Controller
@RequestMapping("hello.do")
public class UserController {
@RequestMapping(params="add")
public ModelAndView add(){
User user=new User();
user.setId("001");
user.setUserName("gaohui");
user.setPass("123456");
new UserService().addUser(user);
ModelAndView model=new ModelAndView("hello");
return model;
}
}
package Dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class JdbcTool { static Connection conn; static Statement stmt; static{ try { Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/demo", "root", "root"); stmt=conn.createStatement(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public void execute(String sql) throws SQLException{ stmt.execute(sql); } public void close() throws SQLException{ if(conn!=null){ conn.close(); } if(stmt!=null){ stmt.close(); } } }
package Entity; public class User { private String id; private String userName; private String pass; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } }
package Service; import java.sql.SQLException; import Dao.JdbcTool; import Entity.User; public class UserService { JdbcTool tool=new JdbcTool(); /* * 添加用户 */ public void addUser(User user){ String sql="insert into user (id,username,pass) value('"+user.getId()+"','"+user.getUserName()+"','"+user.getUserName()+"')"; try { tool.execute(sql); } catch (SQLException e) { e.printStackTrace(); } } }这里只是个大概,更多细节,以后会贴出
相关文章推荐
- java中RSA加解密的实现
- java四种内部类
- java枚举单例的好处
- Java并发编程:volatile关键字解析(三.Java内存模型)
- java中的vo 、dto 、dao--转
- SQLite - Java
- Java 8新特性:全新的Stream API和lambda表达式
- java性能时间与空间消耗
- Java随机数的三种写法
- Java并发编程:volatile关键字解析(二.并发编程中的三个概念)
- Java定时器,Spring定时器和quartz定时器
- GMF环境安装
- eclipse软件启动弹窗端口问题解决
- Eclipse和MyEclipse自动提示设置
- 【行为型模式】观察者模式(Observer)之23种java设计模式
- Struts2中的ModelDriven机制及其运用
- [改善Java代码]用偶判断,不用奇判断
- eclipse adt 选择ndk目录时不识别,出现“Not a valid NDK directory”
- 浅谈JAVA中的日志文件
- AS找不到.so文件 java.lang.UnsatisfiedLinkError: Couldn't load from loader dralvik.system.PathClassLoade