maven搭建Spring+SpringMVC的应用
来源:互联网 发布:淘宝网铁观音 编辑:程序博客网 时间:2024/05/16 11:19
一(what)什么是maven
maven:是项目管理的一个构建工具,通过一些【简单的描述信息】来管理项目的构建,报告,文档等的软件项目管理工具
二(why)为什么使用maven
按照传统的开发方式,在一开始,我们往往得找到一些jar包,难免不了jar包的冲突,而采用maven直不在考虑jar包的问题,只需要加入一些【简单的描述信息】即可
三(how)怎么使用用maven开发
1,File->New->Project…->Maven->(选择SDK)New->Next->填写GroupID(项目的包名),ArtifactId(模块名),版本默认即可->next->Project name(项目名字),路径->finish
结果如图所示:
,
2,view->Tool Windows->maven Project
3选中(如图所示,再运行,刷新)
maven就会到远程中心仓库下载所有依赖的jar包
这样就可以了,接着就是建包撸码了。。。
*采用Spring+springmvc框架,简单的验证用户登录问题
工程目录如下所示:
第一步建数据库
drop database springmvc;create database springmvc;use springmvc;create table userTable(id int primary key auto_increment,username varchar(10),password varchar(10));insert into userTable values(1,"wby","123456");
第二步建实体类
(属性注意和数据表字段相对应)
package com.wby.entity;/** * Created by Administrator on 2017/11/20. */public class User { private int id; private String username; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}
第三步编写dao层
采用spring jdbcTemplate操作数据库
package com.wby.dao;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.stereotype.Repository;/** * Created by Administrator on 2017/11/20. */@Repositorypublic class UserDao { @Autowired private JdbcTemplate jdbcTemplate; public int getCount(String username,String password){ String sql="select count(*) from userTable "+"where username=? and password=?"; return jdbcTemplate.queryForObject(sql, new Object[]{username, password}, Integer.class); }}
第四步编写service层
package com.wby.service;import com.wby.entity.User;import com.wby.dao.UserDao;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;/** * Created by Administrator on 2017/11/20. */@Servicepublic class UserService { @Autowired UserDao userDao; public int getCount(User user){ return userDao.getCount(user.getUsername(),user.getPassword() ); }}
第五部编写controller层
```package com.wby.controller;import com.wby.service.UserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import com.wby.entity.User;//import com.wby.service.UserService;import javax.servlet.http.HttpServletRequest;/** * Created by Administrator on 2017/11/20. */@Controllerpublic class UserController { @Autowired UserService userService;@RequestMapping("/index.html") public ModelAndView Check(HttpServletRequest request,User user){ int a= userService.getCount(user); if(a>0) { request.getSession().setAttribute("user",user); return new ModelAndView("main"); } else return new ModelAndView("index","error","用户名或者密码有误"); }}
六spring框架的配置文件applicationContext.xml
配置数据源,jdbcTemplate,,数据管理器,事物增强…
<?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"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd"> <!-- 扫描类包,将标注Spring注解的类自动转化Bean,同时完成Bean的注入 --> <context:component-scan base-package="com.wby.dao"/> <context:component-scan base-package="com.wby.service"/> <!-- 配置数据源 --><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close" p:driverClassName="com.mysql.jdbc.Driver"p:url="jdbc:mysql://localhost:3306/springmvc"p:username="root"p:password="root" /><!-- 配置Jdbc模板 --><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"p:dataSource-ref="dataSource" /><!-- 配置事务管理器 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"p:dataSource-ref="dataSource" /><!-- 通过AOP配置提供事务增强,让service包下所有Bean的所有方法拥有事务 --><aop:config proxy-target-class="true"><aop:pointcut id="serviceMethod"expression="(execution(* com.wby.service..*(..))) and (@annotation(org.springframework.transaction.annotation.Transactional))" /><aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice" /></aop:config><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="*" /></tx:attributes></tx:advice></beans>
七springmvc框架的配置文件springmvc.xml
配置视图解析器,前缀后缀的设定
springmvc的默认配置文件是放在WEB-INF下的,叫action-servlet.xml
想改在resources下,那么就得修改web.xml下的分发器的servlet
<?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-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"><!-- 扫描web包,应用Spring的注解 --><context:component-scan base-package="com.wby.controller"/><!-- 配置视图解析器,将ModelAndView及字符串解析为具体的页面 --><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"p:prefix="/WEB-INF/jsp/"p:suffix=".jsp" /></beans>
web.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"><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><!--springmvc的默认配置文件是放在WEB-INF下的,叫action-servlet.xml想改在resources下,那么就得修改web.xml下的分发器的servlet,具体如下:--><servlet><servlet-name>action</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.html</url-pattern></servlet-mapping></web-app>
pom.xm(在pom.xnl文件中配上坐标,maven就会去远程仓库中下载相应的jar包,这就是前面所提及的一小段配置信息)
<?xml version="1.0" encoding="UTF-8"?><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.wby</groupId> <artifactId>demo1</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <properties> <file.encoding>UTF-8</file.encoding> <spring.version>4.2.2.RELEASE</spring.version> <mysql.version>5.1.29</mysql.version> <servlet.version>3.0-alpha-1</servlet.version> <aspectj.version>1.8.1</aspectj.version> <commons-codec.version>1.9</commons-codec.version> <commons-dbcp.version>1.4</commons-dbcp.version> <hibernate.validator.version>5.0.2.Final</hibernate.validator.version> <jetty.version>8.1.8.v20121106</jetty.version> <slf4j.version>1.7.5</slf4j.version> <testng.version>6.8.7</testng.version> </properties> <dependencies> <!-- spring 依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</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-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>${commons-dbcp.version}</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>${servlet.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${aspectj.version}</version> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>${testng.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-core-api-container</artifactId> <version>1.2.3</version> </dependency> </dependencies> <build> <plugins> <!-- jetty插件 --> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.25</version> <configuration> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8000</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> <contextPath>/bbs</contextPath> <scanIntervalSeconds>0</scanIntervalSeconds> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.17</version> <configuration> <parallel>methods</parallel> <threadCount>10</threadCount> </configuration> </plugin> </plugins> </build></project>
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body> <form action="/index.html" method="post"> 用户名 <input type="text" name="username"> 密码<input type="text" name="password"> <input type="submit" value="提交"> </form> </body></html>
main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title></head><body>当前用户为${user.username};</body></html>
运行测试
输入
1
2
- maven搭建Spring+SpringMVC的应用
- Maven+Spring+SpringMVC+MyBatis框架的搭建
- Spring+SpringMVC+Mybatis+Maven搭建的框架
- Spring+Hibernate+SpringMVC+Maven搭建
- maven spring springmvc mybatis搭建
- maven搭建 springmvc+mybatis应用
- 基于Maven的SSM框架的搭建(Spring+SpringMVC+MyBatis)
- 基于maven的spring+springMvc+MyBatis+Dubbo架构的搭建
- maven搭建SpringMvc Hibernate Spring的pom.xml
- 基于maven的springmvc +hibernate+ spring框架搭建
- Maven+Spring+SpringMVC+MyBatis框架的搭建(开篇)
- Maven+Spring+SpringMVC+MyBatis框架的搭建(一)
- Maven+Spring+SpringMVC+MyBatis框架的搭建(二)
- spring + springmvc +mybatis 搭建 maven 项目的核心配置文件
- 架构之路之spring+springmvc+maven+mongodb的搭建
- 基于maven的spring+mybatis+springMVC框架搭建
- 基于spring+springmvc+hibernate的maven项目搭建
- spring+springmvc+mybatis+maven搭建的框架项目
- (备忘录)ViewPagerIndicator的使用(1)
- git的秘钥(ssh)
- Effective Java读书笔记-使类和成员的可访问性最小化
- PTA 7-1 是否同一棵二叉搜索树(25 分) 建树比较
- Eclipse 开发web项目时遇到的 Mysql 问题
- maven搭建Spring+SpringMVC的应用
- 非IT部门职能
- mini2440学习——uboot新手入门
- caffe python接口:配置文件的生成
- Spring Boot直接导出jar包发布运行
- css li控制子元素
- 经典SQL语句大全(绝对的经典)
- myeclipse集成weblogic用户名密码问题
- vim中的折叠功能