第一步 :

导入外部jar包,放在如图目录下

第二步:简单配置web.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>springmvc01</display-name> <!-- 配置Spring mvc前端控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 如何不配置初始化参数,会默认加载WEB-INF/前端控制器名-servlet.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- classpath代表应用程序根路径 -->
<param-value>classpath:app-mvc.xml</param-value>
</init-param>
<!-- 设置该servlet为web容器启动时立即加载 -->
<!-- 值正数时,正数值越小,优先级越高,为负数web容器启动时,默认不会立即初始化springmvc-->
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping> </web-app>

第三步:配置 spring  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/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd"> <!-- 扫描控制器所在的包 -->
<context:component-scan base-package="com.zhidi.controller"/> <!-- 开启springmvc注解 -->
<mvc:annotation-driven/> <!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置返回视图的前缀 -->
<property name="prefix" value="/WEB-INF/page/"/>
<!-- 配置返回视图的后缀 -->
<property name="suffix" value=".jsp"/>
</bean> </beans>

第四步:servlet 服务层多个servlet服务器  现在可以简写到controller类中

浏览器进入网页会先进过控制层

package com.zhidi.controller;

import java.util.Date;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; //会将该类交给Spring IOC容器管理
@Controller
public class HelloController { //URI
@RequestMapping("/helloworld")
public String hello() {
// /WEB-INF/page/success.jsp
return "success";
} @RequestMapping("/test")
public String test() {
return "success";
}
}

配置文件会根据方法返回字符窜自动拼接  如  success  会  进入  success.jsp  网页

表单传输数据简单操作:

建立实体类    属性名和表单  input name 名一样如下

package com.zhidi.entity;

import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

public class Student {

    private Integer id;
private String stuName;
private Integer age;
private String sex;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date birthday; public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
} @Override
public String toString() {
return "Student [id=" + id + ", stuName=" + stuName + ", age=" + age + ", sex=" + sex + ", birthday=" + birthday
+ "]";
} } jsp 页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="user/edit.do" method="post">
学生编号:<input type="text" name="id"><br>
学生姓名:<input type="text" name="stuName"><br>
年龄:<input type="text" name="age"><br>
性别:<input type="radio" value="0" name="sex">男
<input type="radio" value="1" name="sex">女<br>
生日:<input type="date" name="birthday"><br>
<input type="submit" value="提交">
</form>
</body>
</html>

controller类

package com.zhidi.controller;

import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import org.springframework.format.annotation.DateTimeFormat;
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 com.zhidi.entity.Student; @Controller
@RequestMapping("/user")
public class UserController { //在RequestMapping中设置属性值,可以匹配更精确的url
@RequestMapping(value="/add", method=RequestMethod.GET, params="username")
public String add(String username) {
System.out.println(username);
return "user_add";
} //向方法中添加默认类型的参数,HttpServletRequest,HttpServletResponse
@RequestMapping("/defaultParam1")
public String defaultParam(HttpServletRequest request, HttpServletResponse response) {
String userName = request.getParameter("username");
request.setAttribute("userName", userName);
HttpSession session = request.getSession();
return "user_add";
} @RequestMapping("/defaultParam2")
public String defaultParam(HttpSession session) {
session.setAttribute("userName", "小明");
return "user_add";
} @RequestMapping("/defaultParam3")
public String defaultParam(Model modelMap) {
//ModelMap是Model接口的实现类
//相当于向请求范围中设置了一个参数
modelMap.addAttribute("userName", "赵日天");
return "user_add";
} //如果请求中的参数名和方法形参中的参数名不一致,可以通过@RequestParam注解将指定名称的参数绑定到对象的形参上
//@RequestParam的required默认为true,必须传该参数,否则会出现400,可以将其设置为false,就代表请求参数列表中可以没有改参数,使用defaultValue可以为其添加默认值
@RequestMapping("/simpleParam1")
public String simpleParam(@RequestParam(value = "name", required = false, defaultValue = "赵特助") String username, Integer id) {
System.out.println(username);
System.out.println(id);
return "user_add";
} /**
* 跳转到user_edit页面
* @return
*/
@RequestMapping("/toEdit")
public String toEdit() {
return "user_edit";
} /**
* 处理表单提交
* 属性的自动装箱,会将表单提交的属性值设置到方法中的形参上
* @param stu
* @return
*/
@RequestMapping("/edit")
public String edit(Student stu) {
System.out.println(stu);
return "user_edit";
} /**
* springmvc中不能直接映射时间类型,需要通过其他方式去对时间进行转换,@DateTimeFormat注解,使用该注解时需要开启<mvc:annotation-driver/>
* @param date
* @return
*/
@RequestMapping("/testDate")
public String testdDate(@DateTimeFormat(pattern = "yyyy-MM-dd") Date date) {
System.out.println(date);
return "user_edit";
}
}

springmvc 简化Javaweb 简单应用的更多相关文章

  1. javaWEB简单商城项目

    javaWEB简单商城项目(一) 项目中使用到了上一篇博文的分页框架,还有mybatis,重点是学习mybatis.现在有些小迷茫,不知道该干啥,唉,不想那么多了,学就对了 一.项目功能结构 1.功能 ...

  2. springmvc(4)注解简单了解

    对于我这样的新人来说,因为是刚开始做项目,所以以前的技术不是用的很多,就比如springmvc来说,实际上使用的都是注解形式的,对于那些全部都是配置的来说,虽然也了解一些,但是实际上还是没试用过的. ...

  3. javaweb简单登陆例子

    JSP+Servlet+JavaBean简单程序例子——用户名密码登陆,摘自<Tomcat&JavaWeb 技术手册>,亲测可用. IDE环境:MyEclipse10 1.建立We ...

  4. SpringMvc和servlet简单对比介绍

    原文链接:http://www.cnblogs.com/haolnu/p/7294533.html 一.servlet实现登录. 咱们先来看一下servlet实现注册登录. <servlet&g ...

  5. SpringMVC之一个简单的例子

    一.一个简单的例子 二.web.xml文件配置 三.spring-mvc.xml文件(等同于struts2的struts文件) 四.login.jsp(登录页面) 五.登录成功的页面(success. ...

  6. [转]SpringMVC+Hibernate+Spring 简单的一个整合实例

    原文地址:http://langgufu.iteye.com/blog/2088355 下面开始实例,这个实例的需求是对用户信息进行增删改查.首先创建一个web项目test_ssh,目录结构及需要的J ...

  7. springMVC 拦截器简单配置

    在spring 3.0甚础上,起来越多的用到了注解,从前的拦截器在配置文件中需要这样配置 <beans...> ... <bean id="measurementInter ...

  8. SpringMVC基础——一个简单的例子

    一.导入 jar 包 二.配置 web.xml 文件 <servlet> <servlet-name>dispatcherServlet</servlet-name> ...

  9. 【dynamic】简化反射简单尝试

    最近在自己瞎整设计自己的数据访问层(纯属深入了解C#用),遇到了反射.网传反射性能很差,可是我们项目中也有功能用到了反射,总体来说还不错(小项目).由于居安思危的感觉越发沉重,不得不去打破传统,去寻求 ...

随机推荐

  1. Vue-axios 在vue cli中封装

    common/post.js import axios from 'axios' // 引入axios import qs from 'qs' // 引入qs axios.defaults.baseU ...

  2. asp dotnet core 图片在浏览器没访问可能原因

    我写了一个项目用来广告就用到广告的图片,但是广告的图片放在博客的链接无法访问,连我的方法都没有调用,而我尝试网页直接访问图片链接是可以访问的,最后找到原因是广告插件禁用了图片访问 我在一个方法创建了广 ...

  3. H3C 反向查询

  4. 机器学习——HMM & CRF

    整理自: https://blog.csdn.net/woaidapaopao/article/details/77806273?locationnum=9&fps=1 HMM CRF HMM ...

  5. 【HTML/CSS】BFC

    块格式化上下文(Block formatting contexts) BFC是什么? 是Web页面中盒模型布局的CSS渲染模式.它的定位体系属于常规文档流. 至少满足条件之一: float 的值不为  ...

  6. eslint在webstorm中有错误警告

    1. 报错Missing space before function parentheses的问题 解决:在代码目录中,打开.eslint文件,并在rules中添加如下一行代码即可: "sp ...

  7. CF1220

    CF1220 A one和zero特的字母分别是'n'和'z' 输出他们的数量即可 #include<cstdio> #include<iostream> #include&l ...

  8. C#面试题整理(不带答案)

     1.维护数据库的完整性.一致性.你喜欢用触发器还是自写业务逻辑?为什么?  2.什么是事务?什么是锁?  3.什么是索引,有什么优点?  4.视图是什么?游标是什么?  5.什么是存储过程?有什么优 ...

  9. CAS5.3 单点登录/登出/springboot/springmvc

    环境: jdk:1.8 cas server:5.3.14 + tomcat 8.5 cas client:3.5.1 客户端1:springmvc 传统web项目(使用web.xml) 客户端2:s ...

  10. Python 序列求和

    #基于Python2.7 多数OJ题库的第一题便是A+B,A+B+C此类求和问题,之前初学Python时是这么做的: while True: try: a,b,c=raw_input().split( ...