紧接着上一节(3),现在maven新建web项目,user-web。模拟一个用户登录的需求:

工程结构:

pom.xml:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.cy.user</groupId>
  5. <artifactId>user-web</artifactId>
  6. <packaging>war</packaging>
  7. <version>0.0.1-SNAPSHOT</version>
  8.  
  9. <dependencies>
  10. <!-- 添加Servlet支持 -->
  11. <dependency>
  12. <groupId>javax.servlet</groupId>
  13. <artifactId>javax.servlet-api</artifactId>
  14. <version>3.1.0</version>
  15. </dependency>
  16.  
  17. <dependency>
  18. <groupId>javax.servlet.jsp</groupId>
  19. <artifactId>javax.servlet.jsp-api</artifactId>
  20. <version>2.3.1</version>
  21. </dependency>
  22.  
  23. <!-- 添加jstl支持 -->
  24. <dependency>
  25. <groupId>javax.servlet</groupId>
  26. <artifactId>jstl</artifactId>
  27. <version>1.2</version>
  28. </dependency>
  29.  
  30. <!-- 添加Spring支持 -->
  31. <dependency>
  32. <groupId>org.springframework</groupId>
  33. <artifactId>spring-core</artifactId>
  34. <version>4.1.7.RELEASE</version>
  35. </dependency>
  36. <dependency>
  37. <groupId>org.springframework</groupId>
  38. <artifactId>spring-beans</artifactId>
  39. <version>4.1.7.RELEASE</version>
  40. </dependency>
  41. <dependency>
  42. <groupId>org.springframework</groupId>
  43. <artifactId>spring-tx</artifactId>
  44. <version>4.1.7.RELEASE</version>
  45. </dependency>
  46. <dependency>
  47. <groupId>org.springframework</groupId>
  48. <artifactId>spring-context</artifactId>
  49. <version>4.1.7.RELEASE</version>
  50. </dependency>
  51. <dependency>
  52. <groupId>org.springframework</groupId>
  53. <artifactId>spring-context-support</artifactId>
  54. <version>4.1.7.RELEASE</version>
  55. </dependency>
  56.  
  57. <dependency>
  58. <groupId>org.springframework</groupId>
  59. <artifactId>spring-web</artifactId>
  60. <version>4.1.7.RELEASE</version>
  61. </dependency>
  62.  
  63. <dependency>
  64. <groupId>org.springframework</groupId>
  65. <artifactId>spring-webmvc</artifactId>
  66. <version>4.1.7.RELEASE</version>
  67. </dependency>
  68.  
  69. <dependency>
  70. <groupId>com.cy.user</groupId>
  71. <artifactId>user-service</artifactId>
  72. <version>0.0.1-SNAPSHOT</version>
  73. </dependency>
  74.  
  75. <dependency>
  76. <groupId>junit</groupId>
  77. <artifactId>junit</artifactId>
  78. <version>4.12</version>
  79. <scope>test</scope>
  80. </dependency>
  81. </dependencies>
  82. <build>
  83. <finalName>user-web</finalName>
  84. </build>
  85. </project>

注意上面user-web项目添加了第3节里面的user-service依赖,需要将user-service maven install发布到本地仓库;

但是不需要添加user-dao的依赖,因为user-service里面已经依赖了user-dao。依赖的继承;

src/main/resources/srping-mvc.xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:p="http://www.springframework.org/schema/p"
  5. xmlns:aop="http://www.springframework.org/schema/aop"
  6. xmlns:context="http://www.springframework.org/schema/context"
  7. xmlns:jee="http://www.springframework.org/schema/jee"
  8. xmlns:tx="http://www.springframework.org/schema/tx"
  9. xsi:schemaLocation="
  10. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
  11. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  12. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  13. http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd
  14. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
  15.  
  16. <!-- 使用注解的包,包括子集 -->
  17. <context:component-scan base-package="com.cy.user.controller" />
  18.  
  19. <!-- 视图解析器 -->
  20. <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  21. <property name="prefix" value="/" />
  22. <property name="suffix" value=".jsp"></property>
  23. </bean>
  24.  
  25. </beans>

webapp/WEB-INF/web.xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <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">
  3. <display-name>user-web</display-name>
  4. <welcome-file-list>
  5. <welcome-file>index.jsp</welcome-file>
  6. </welcome-file-list>
  7.  
  8. <!-- Spring配置文件 -->
  9. <context-param>
  10. <param-name>contextConfigLocation</param-name>
  11. <param-value>classpath:applicationContext.xml</param-value>
  12. </context-param>
  13. <!-- 编码过滤器 -->
  14. <filter>
  15. <filter-name>encodingFilter</filter-name>
  16. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  17. <async-supported>true</async-supported>
  18. <init-param>
  19. <param-name>encoding</param-name>
  20. <param-value>UTF-8</param-value>
  21. </init-param>
  22. </filter>
  23. <filter-mapping>
  24. <filter-name>encodingFilter</filter-name>
  25. <url-pattern>/*</url-pattern>
  26. </filter-mapping>
  27. <!-- Spring监听器 -->
  28. <listener>
  29. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  30. </listener>
  31.  
  32. <!-- 添加对springmvc的支持 -->
  33. <servlet>
  34. <servlet-name>springMVC</servlet-name>
  35. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  36. <init-param>
  37. <param-name>contextConfigLocation</param-name>
  38. <param-value>classpath:spring-mvc.xml</param-value>
  39. </init-param>
  40. <load-on-startup>1</load-on-startup>
  41. <async-supported>true</async-supported>
  42. </servlet>
  43. <servlet-mapping>
  44. <servlet-name>springMVC</servlet-name>
  45. <url-pattern>*.do</url-pattern>
  46. </servlet-mapping>
  47. </web-app>

com.cy.user.controller.UserController.java:

  1. package com.cy.user.controller;
  2.  
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpSession;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import com.cy.user.entity.User;
  9. import com.cy.user.service.UserService;
  10.  
  11. @Controller
  12. @RequestMapping("/user")
  13. public class UserController {
  14.  
  15. @Autowired
  16. private UserService userService;
  17.  
  18. /**
  19. * 用户登录
  20. * @param user
  21. * @param request
  22. * @return
  23. */
  24. @RequestMapping("/login")
  25. public String login(User user,HttpServletRequest request){
  26. User resultUser=userService.login(user);
  27. if(resultUser==null){
  28. request.setAttribute("user", user);
  29. request.setAttribute("errorMsg", "用户名或密码错误!");
  30. return "index";
  31. }else{
  32. HttpSession session=request.getSession();
  33. session.setAttribute("currentUser", resultUser);
  34. return "redirect:/success.jsp";
  35. }
  36. }
  37. }

注意上面的重定向:return "redirect:/success.jsp";

index.jsp:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6. <title>Insert title here</title>
  7. </head>
  8. <body>
  9. <form action="${pageContext.request.contextPath }/user/login.do" method="post">
  10. userName:<input type="text" name="userName" value="${user.userName }"/><br/>
  11. password:<input type="password" name="password" value="${user.password }"><br/>
  12. <input type="submit" value="login"/><font color="red">${errorMsg }</font>
  13. </form>
  14. </body>
  15. </html>

success.jsp:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6. <title>Insert title here</title>
  7. </head>
  8. <body>
  9. 欢迎:${currentUser.userName }
  10. </body>
  11. </html>

最后访问http://localhost:8080/user-web/index.jsp进行测试;

--------

maven学习(4)-Maven 构建Web 项目的更多相关文章

  1. Maven学习:Eclipse使用maven构建web项目(转)

    Maven学习:Eclipse使用maven构建web项目(转) 8.更改class路径:右键项目,Java Build Path -> Source 下面应该有4个文件夹.src/main/j ...

  2. Maven学习- 使用Maven构建Web项目

    从网上查了一些资料,才算明白(也就是怎么操作吧),怎么使用Maven构建一个Web项目,找到一篇文档,主要都是从这里学到的: 下载地址:使用Eclipse构建Maven的Web项目.docx 现自己在 ...

  3. Eclipse+Maven构建web项目及部署时Maven lib依赖问题的解决

    目录 Eclipse中m2e插件构建web项目的步骤 Maven工具构建web项目再导入Eclipse的步骤 [一].Eclipse中m2e插件构建web项目的步骤 第一步:创建项目,按照 New – ...

  4. 利用Eclipse中的Maven构建Web项目(三)

    利用Eclipse中的Maven构建Web项目 1.将Maven Project转换成动态Web项目,鼠标右键项目,输入"Project Facets" 2.依据Dynamic W ...

  5. 利用Eclipse中的Maven构建Web项目报错(二)

    利用Eclipse中的Maven构建Web项目 1.错误描述 [INFO] Scanning for projects... [INFO] [INFO] Using the builder org.a ...

  6. 利用Eclipse中的Maven构建Web项目报错(一)

    利用Eclipse中的Maven构建Web项目 1.在进行上述操作时,pom.xml一直报错 <project xmlns="http://maven.apache.org/POM/4 ...

  7. 利用Eclipse中的Maven构建Web项目(二)

    利用Eclipse中的Maven构建Web项目 1.新建源文件夹,Java Resources鼠标右键,"New-->Source Folder" 2.新建src/main/ ...

  8. 利用Eclipse中的Maven构建Web项目(一)

    利用Eclipse中的Maven构建Web项目 1.新建一个Maven Project,"New-->Other..." 2.选择"Maven Project&qu ...

  9. JAVA Eclipse使用Maven构建web项目详解(SSM框架)

    tips: 启动项目后,welcome-file的链接即为测试用例 部署maven web项目 Eclipse使用Maven构建web项目详解 pom.xml添加webapp依赖: <depen ...

  10. maven构建web项目,用jetty测试的配置pom.xml

    maven构建web项目,用jetty测试的配置pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmln ...

随机推荐

  1. SHA1加密算法 java

    //下面四个import放在类名前面 包名后面 //import java.io.UnsupportedEncodingException; //import java.security.Messag ...

  2. 在主Android Activity中加载Fragment的一般简易方法 ,来模拟一个微信界面。

    在Fragment的生命周期中,需要重点关注onCreate.onCreateView.onViewCreated.Activity与Fragment生命周期在设计模式上大体一致. package c ...

  3. Spring-data-jpa详解

    转自:http://www.cnblogs.com/dreamroute/p/5173896.html

  4. XML解析之XPath

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  5. SpingBoot三——基础架构

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:https://www.cnblogs.com/by-dream/p/10492073.html 继续上一节,为了更好的开发,现将 ...

  6. 第三视角团队:项目UML设计(团队)

    项目UML设计(团队) 团队信息 团队名:第三视角 各成员学号及姓名 姓名 学号 博客链接 张扬(组长) 031602345 http://www.cnblogs.com/sxZhangYang/p/ ...

  7. & | ^ ~ << >> 按位运算符

    与(&) |(或) ^(异或)  ~(取反) <<(左移) 先将两个数全部转化成为2进制再进行比较,再进行比较,位数不同则前面添0变为位数相同,然后再将得到的结果转化为你想要的类型 ...

  8. Nexus设备渗透测试平台 – Kali Linux NetHunter

    NetHunter是一个基于Kali Linux为Nexus设备构建的Android渗透测试平台,其中包括一些特殊和独特的功能.NetHunter支持无线802.11注入,一键MANA AP搭建,HI ...

  9. C语言与VT100控制码编程

    C语言与VT100控制码编程 声明: . 如果您打算阅读本文,希望您已经了解过C语言的基本语法,本文不对C语言的基本语法进行说明,因为那些东西几乎唾手可得; . 本文在vim中编辑,请尽量是用vim进 ...

  10. Hibernate4.3配置

    <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hi ...