当前位置: 首页>编程语言>正文

spring项目 main怎么写 springmvc项目实例


目录

  • 前言
  • 一、创建web项目
  • 二、步骤
  • 1.加入springmvc框架的依赖库
  • 2.导入工作路径
  • 3.配置web.xml【配置前端控制器】
  • 3.创建resources资源文件夹
  • 4.编写controller
  • 5.重新生成 Artifacts
  • 6.运行测试
  • 进阶挑战
  • 1.有前端界面参与输入 的登陆实现
  • 2.将数据封装起来
  • over



前言

SpringMVC 是Web层的框架Spring是业务层的框架,MyBatis是持久层的框架

SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦。基于请求驱动指的就是使用请求-响应模型,SpringMVC是为了简化我们日常Web开发。


一、创建web项目

二、步骤

1.加入springmvc框架的依赖库

右键web新建package命名为lib

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_xml,第1张

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_spring项目 main怎么写_02,第2张

将依赖库解压放进lib

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_xml_03,第3张


2.导入工作路径

右键工作目录(springmvcDemo),F4

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_java_04,第4张

选择刚刚的 lib 文件夹

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_java_05,第5张

选择tomcat

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_spring_06,第6张

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_mvc_07,第7张

然后勾选刚刚添加的两个东西

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_xml_08,第8张


3.配置web.xml【配置前端控制器】

<!-- 定义Spring MVC的前端控制器 -->
<servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <!--初始化参数配置  配置xml文件路径-->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:springMVC.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<!-- 让Spring MVC的前端控制器拦截所有请求 -->
<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

放在 WEB-INF 目录下的 web.xml 里

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_spring项目 main怎么写_09,第9张


3.创建resources资源文件夹

新建文件夹,命名为 resources

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_java_10,第10张

设置文件夹类型,右键该(resources)文件夹,F4

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_mvc_11,第11张

将 springMVC.xml 放进 resources 文件夹中,以下是 springMVC.xml 文件内容

<?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:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="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
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">

	<!--启动注解识别 -->
	<context:annotation-config />
	<!--扫描controller包,将controller交给SpringIOC容器进行对象管理 -->
	<context:component-scan base-package="com.gec.controller">
		<context:include-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
	</context:component-scan>
	<!--开启注解驱动 -->
	<mvc:annotation-driven />
	<!-- 支持文件上传 -->
	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="maxUploadSize" value="104857600" />
		<property name="maxInMemorySize" value="4096" />
		<property name="defaultEncoding" value="UTF-8"></property>
	</bean>
	<!--开通静态资源的访问 -->
	<mvc:default-servlet-handler />
	<!-- 视图解析器 -->
	<bean
	class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass"
			value="org.springframework.web.servlet.view.JstlView" />
		<property name="prefix" value="/" />
		<property name="suffix" value=".jsp" />
	</bean>
</beans>

4.编写controller

右键 src 文件夹新建 package ,命名为:com.gec.controller

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_xml_12,第12张

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_xml_13,第13张

新建UserController.java文件,以下是UserController.java代码:

package com.gec.controller;

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

//标志注解,用于标明当前类是控制的代码,交给ioc容器管理的
@Controller
public class UserController {

//  http://localhost:8080/springmvcDemo/login?name=admin&password=123456
    //定义请求处理的方法【登录请求处理】【方法】
    @RequestMapping("/login")
    @ResponseBody  //意思:直接返回数据,输出到页面中,不跳转页面
    public String login(String name, String password) {
        //
        if (name.equals("admin") && password.equals("123456")) {
            return "login success!";
        } else {
            return "login failed!";
        }
    }


}

5.重新生成 Artifacts

先删去原本的war

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_xml_14,第14张

再重新加war

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_java_15,第15张

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_xml_16,第16张


6.运行测试

选取项目名,编译

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_spring项目 main怎么写_17,第17张

tomcat运行成功:

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_spring_18,第18张

复制到浏览器运行:http://localhost:8080/springmvcDemo/login?name=admin&password=123456

因为正确,所以显示

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_mvc_19,第19张

如果我们修改链接为:

http://localhost:8080/springmvcDemo/login?name=admin&password=1234567

则会

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_java_20,第20张

因为返回的密码不是原本设定的


进阶挑战

1.有前端界面参与输入 的登陆实现

在web目录新建index.jsp

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_spring_21,第21张

login.jsp代码:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="/springmvcDemo/login">
    用户名:<input type="text" name="name"/><br>
    密码:<input type="password" name="password"/><br>
    <input type="submit" value="登录"/><br>
</form>
</body>
</html>

UserControllor.java改为:

package com.gec.controller;

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

//标志注解,用于标明当前类是控制的代码,交给ioc容器管理的
@Controller
public class UserController {

// //   http://localhost:8080/springmvcDemo/login?name=admin&password=123456
//    //定义请求处理的方法【登录请求处理】【方法】
//    @RequestMapping("/login")
//    @ResponseBody  //意思:直接返回数据,输出到页面中,不跳转页面
//    public String login(String name, String password) {
//        //
//        if (name.equals("admin") && password.equals("123456")) {
//            return "login success!";
//        } else {
//            return "login failed!";
//        }
//    }


    //页面跳转的请求处理方法
    @RequestMapping("/login")
    public String login(String name, String password) {
        //登录成功
        if (name.equals("admin") && password.equals("123456")) {
            return "redirect:/index.html";//  重定向  不走视图解析器的
        } else {//登录失败
            return "login";//  走视图解析器的   /login.jsp
        }
    }
}

编译、执行:(自动跳到首页)

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_mvc_22,第22张

在导航栏输入login.jsp,回车

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_spring_23,第23张

试一下正确的账号:admin,密码:123456

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_xml_24,第24张

试一下错误的账号:adm,密码:123456

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_xml_25,第25张

自动跳回本页面,并在地址栏显示刚刚输入的name和password


2.将数据封装起来

  1. 在src.com.gec建立package bean
  2. 再建立User.java

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_mvc_26,第26张

User.java代码如下:

package com.gec.bean;

//user实体类【标准java类的定义】 com.bean.User
public class User {

    private int id;
    private String name;
    private String password;
    private int age;

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                ", age=" + age +
                '}';
    }

    public User() {
    }

    public User(int id, String name, String password, int age) {
        this.id = id;
        this.name = name;
        this.password = password;
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    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 int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

3.将UserController.java代码更改如下:

package com.gec.controller;

import com.gec.bean.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

//标志注解,用于标明当前类是控制的代码,交给ioc容器管理的
@Controller
public class UserController {

/*     //页面跳转的请求处理方法  
    @RequestMapping("/login")
    public String login(String name, String password) {
        //登录成功
        if (name.equals("admin") && password.equals("123456")) {
            return "redirect:/index.html";//  重定向  不走视图解析器的
        } else {//登录失败
            return "login";//  走视图解析器的   /login.jsp
        }
    }
*/
    //页面跳转的请求处理方法
    @RequestMapping("/login")
    public String login(User user) {
        //登录成功
        if (user.getName().equals("admin") && user.getPassword().equals("123456")) {
            return "redirect:/index.html";//  重定向  不走视图解析器的
        } else {//登录失败
            return "login";//  走视图解析器的   /login.jsp
        }
    }
}

注意 User 类要打包,左键单击 User 按alt + enter

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_spring项目 main怎么写_27,第27张

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_spring项目 main怎么写_28,第28张

编译、运行,效果如下:

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_mvc_29,第29张

在地址栏后缀输入 login.jsp 进入登陆界面

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_spring_30,第30张

输入错误的信息点击登陆,登不进而且输入的信息会在导航栏出现

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_spring项目 main怎么写_31,第31张

输入正确的账号

spring项目 main怎么写 springmvc项目实例,spring项目 main怎么写 springmvc项目实例_spring_32,第32张

将导航栏显示的name和password改正确也是可以进入到首页

over




https://www.xamrdz.com/lan/57x1963284.html

相关文章: