spring4.3.1 mvc部署试验
2016-09-07 08:22
381 查看
才接触spring mvc不久,对他的超强的便捷功能赞叹不已,自己也试着做了一个部署试验,记录在此.以便日后查阅校准.
环境:
jdk1.7
spring mvc 4.3.1
db2
1,web.xml
首先需要在web.xml里对spring进行设置,如下
2.在web.xml中设置的spring-servlet.xml中对spring进行详细设置
<?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:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation=" http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 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="jp.spring.test" />
<!-- don't handle the static resource -->
<mvc:default-servlet-handler />
<!-- if you use annotation you must configure following setting -->
<mvc:annotation-driven />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.ibm.db2.jcc.DB2Driver"></property>
<property name="url" value="jdbc:db2://localhost:50000/SPRDB"></property>
<property name="username" value="db2admin"></property>
<property name="password" value="db2admin"></property>
</bean>
<span style="white-space:pre"> </span><pre name="code" class="html"><span style="white-space:pre"> </span><!-- spring mvc的jdbc封装组件定义 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource" /></bean>
<span style="white-space:pre"> </span><!-- 调用jdbc封装组件的daoImpl定义 -->
<bean id="userLoginDao" class="jp.spring.test.dao.impl.UserLoginDaoImpl"><property name="jdbcTemplate" ref="jdbcTemplate" /></bean></beans>
3,导入所需要的架包
4,spring mvc 开发(用户登录)
4-1,dao
4-2,service
4-3,controller
4-4,domain
4-5,jsp
试验中,出现多次spring启动报错情况,集中在db2的jdbc引用方面
排查中发现没有导入db2jcc4.jar与db2jcclicensecu.jar两个包,导入后启动正常.
环境:
jdk1.7
spring mvc 4.3.1
db2
1,web.xml
首先需要在web.xml里对spring进行设置,如下
<?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" version="2.5"> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
2.在web.xml中设置的spring-servlet.xml中对spring进行详细设置
</pre><pre>
<?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:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation=" http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 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="jp.spring.test" />
<!-- don't handle the static resource -->
<mvc:default-servlet-handler />
<!-- if you use annotation you must configure following setting -->
<mvc:annotation-driven />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.ibm.db2.jcc.DB2Driver"></property>
<property name="url" value="jdbc:db2://localhost:50000/SPRDB"></property>
<property name="username" value="db2admin"></property>
<property name="password" value="db2admin"></property>
</bean>
<span style="white-space:pre"> </span><pre name="code" class="html"><span style="white-space:pre"> </span><!-- spring mvc的jdbc封装组件定义 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource" /></bean>
<span style="white-space:pre"> </span><!-- 调用jdbc封装组件的daoImpl定义 -->
<bean id="userLoginDao" class="jp.spring.test.dao.impl.UserLoginDaoImpl"><property name="jdbcTemplate" ref="jdbcTemplate" /></bean></beans>
3,导入所需要的架包
4,spring mvc 开发(用户登录)
4-1,dao
package jp.spring.test.dao; import java.util.List; import jp.spring.test.domain.User; public interface UserLoginDao { public List<User> getUserInfo(User user); public List<User> getUserByName(String name); }
package jp.spring.test.dao.impl; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import jp.spring.test.dao.UserLoginDao; import jp.spring.test.domain.User; public class UserLoginDaoImpl implements UserLoginDao { private JdbcTemplate jdbcTemplate; @Autowired public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } @Override public List<User> getUserInfo(User user) { String sql = "SELECT * FROM LOGIN_INFO WHERE USER_NAME=? AND USER_PASSWORD=?"; String name = user.getName(); String password = user.getPassword(); List<User> list = jdbcTemplate.query(sql, new MyResult(), name, password); return list; } @Override public List<User> getUserByName(String name) { String sql = "SELECT * FROM LOGIN_INFO WHERE USER_NAME=? "; List<User> list = jdbcTemplate.query(sql, new MyResult(), name); return list; } } //从数据库直接返回对象 class MyResult implements RowMapper<User> { @Override public User mapRow(ResultSet rs, int index) throws SQLException { User user = new User(); user.setName(rs.getString("USER_NAME")); user.setPassword(rs.getString("USER_PASSWORD")); return user; } }
4-2,service
package jp.spring.test.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import jp.spring.test.dao.UserLoginDao; import jp.spring.test.domain.User; @Service public class Webservice { @Autowired private UserLoginDao userLoginDao; public List<User> checkLogin(User user){ List<User> list = userLoginDao.getUserInfo(user); return list; } public List<User> checkRegister(String name){ return null; } }
4-3,controller
package jp.spring.test.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import jp.spring.test.domain.User; import jp.spring.test.service.Webservice; @Controller @RequestMapping("/zhangjie") public class WebController { @Autowired private Webservice webservice; @RequestMapping("hello") public String tohelloPage(){ return "hello"; } @RequestMapping(value="loginCheck",params="login",method=RequestMethod.POST) public String userLogin(@RequestParam("name") String name, @RequestParam("password") String password, Model model) { String veiwId=null; User user=new User(); user.setName(name); user.setPassword(password); List<User> list = webservice.checkLogin(user); if(list.size()<1){ veiwId="hello"; model.addAttribute("loginFail","ユーザー名かパスポートか間違いました"); }else{ veiwId="index"; model.addAttribute("loginSuccess","ようこそ、いっラシャいませ"); model.addAttribute("userName",list.get(0).getName()); } return veiwId; } @RequestMapping(value="loginCheck",params="register",method=RequestMethod.POST) public String userRegister() { return "register"; } @RequestMapping(value="register",params="register",method=RequestMethod.POST) public String userregister(@RequestParam("name") String name, @RequestParam("password") String password, @RequestParam("sex") String sex, @RequestParam("age") String age, Model model) { String viewId=null; List<User> list = webservice.checkRegister(name); if(list.size()<1){ viewId="register"; model.addAttribute("loginFail","ユーザー名かパスポートか間違いました"); }else{ viewId="index"; model.addAttribute("loginSuccess", 4000 "ようこそ、いっラシャいませ"); model.addAttribute("userName",list.get(0).getName()); } return viewId; } }
4-4,domain
package jp.spring.test.domain; import org.springframework.stereotype.Component; @Component public class User { private String name; private String password; private String age; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } @Override public String toString() { return "user [name=" + name + ", password=" + password + ", age=" + age + ", sex=" + sex + "]"; } }
4-5,jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> </head> <body> <form action="loginCheck" method="post"> <div>hello ,this is a spring mvc demo!!</div> <table> <tr> <th>login</th> </tr> <tr> <td>name:</td><td><input type="text" name="name" value="" ></td> </tr> <tr> <td>password:</td><td><input type="password" name="password" value="" ></td> </tr> <tr> <td ><input type="submit" id="login" name="login" value="login"></td> <td ><input type="submit" id="register" name="register" value="register"></td> </tr> </table> <div><h3><c:if test="${!empty loginFail }">${loginFail}</c:if></h3></div> </form> </body> </html>
试验中,出现多次spring启动报错情况,集中在db2的jdbc引用方面
<pre name="code" class="html"><property name="driverClassName" value="com.ibm.db2.jcc.DB2Driver"></property>
排查中发现没有导入db2jcc4.jar与db2jcclicensecu.jar两个包,导入后启动正常.
相关文章推荐
- 个人学习笔记----基于Spring4.3.1+mybatis+postgresql+maven搭建的个人用调度平台(三)
- 【spring】spring reference doc4.3.1 研读 <一>元数据配置以及Environment
- 个人学习笔记----基于Spring4.3.1+mybatis+postgresql+maven搭建的个人用调度平台(四)
- 【spring】Spring reference doc 4.3.1 研读 <四> Transaction Management
- 个人学习笔记----基于Spring4.3.1+mybatis+postgresql+maven搭建的个人用调度平台(一)
- 【spring】spring reference doc 4.3.1 研读<三> Spring aop
- 个人学习笔记----基于Spring4.3.1+mybatis+postgresql+maven搭建的个人用调度平台(二)
- 学习Struct、Hibernate、Spring
- Spring声明式事务与注解式事务并存时的顺序问题
- (spring+hibernate)java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava
- Spring多数据源的配置(荐)
- SpringMVC JQuery Ajax Get Post请求在Tomcat中乱码解决方案
- spring配置SessionFactory ,transactionManager以及其他特性
- Spring的资源加载路径列表
- Spring学习笔记
- spring动态创建,加载,使用多数据源
- Spring HttpInvokerProxyFactoryBean 远程调用示例
- spring各个包的作用
- spring基础:Http请求报文
- spring与mybatis三种整合方法