发表于: 2020-05-18 22:02:35
1 1359
今天完成的事情:任务二的Q3
一、写一个简单的控制层
写控制层用到了@Controller@RequestMapping这两个注解,在使用两个注解之前要先在Pom文件上导入 这两个依赖,才能使用
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
然后在 java/com/controller 目录下创建一个controller类,代码如下
@Controller//注解表明这是控制器
public class StudentController{
@RequestMapping(value = "/Test")
public String Test(){
return "First";
}
}
使用@Controller 表明StudentController是一个控制器,可以同时处理多个请求动作
@RequestMapping(value="/Test") 用来映射一个请求 后边的value表示请求的方法是Test
pubilc String Test() 调用请求的方法,数据类型是String
return“First” 返回一个字符串"First" First是一个叫 First.jsp 的文件。内容如下
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>哒哒哒哒</title>
</head>
<body>
<h1 >呀哈哈哈</h1>
</body>
</html>
写完控制层之后,我尝试运行了一下,
先出现了创建MEB项目时的界面, 我在后边又添加了一行,刚开始的时候是乱码,然后添加了一段代码就好了
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
index.jsp 内容如下
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<body>
<h2>Hello World!</h2>
<h2>你是谁啊</h2>
</body>
</html>
运行后的第一个页面
然后输入 http://localhost:8080/Task2/Test 结果我预想的效果没有出现,报错了(忘记截图了 好不容易搞好了不想演示错误截图了)
然后找到原因是因为没有配置文件
首先要在web.xml 文件中配置 内容如下
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>SpringMVC</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>
<!--启动加载一次-->
<load-on-startup>1</load-on-startup>
</servlet>
<!--为dispatcher建立映射-->
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name><!--映射名字-->
<url-pattern>/</url-pattern><!--拦截路径 接受请求的路径 /拦截所有-->
</servlet-mapping>
</web-app>
然后还要配置 MVC的配置文件,文件名随意取,在这里我取得SpringMVC 内容如下
<?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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--MVC配置文件-->
<!-- 开启mvc的注解驱动 -->
<mvc:annotation-driven></mvc:annotation-driven>
<!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 进行一个注解的扫描-->
<context:component-scan base-package="com.controller"></context:component-scan>
<!--默认的静态文件处理-->
<mvc:default-servlet-handler/>
<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" /><!--文件路径-->
<property name="suffix" value=".jsp" /><!--文件类型-->
</bean>
</beans>
配置完成后 再次点击运行,这一次成功的跳转到了第二个页面
二、用Json Tag-lib 生成假数据
1、什么是假数据
当开发者做好了开发,需要测试时,由于没有数据库,这时就需要json(假数据)来进行测试
导入jar包 json-taglib-0.4.1.jar
在原来的First.jsp 中编辑内容如下
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
<json:object escapeXml="false">
<json:object name="user">
<json:property name="id" value="2" />
<json:property name="qq" value="123" />
<json:property name="name" value="龙大大" />
<json:property name="age" value="18" />
<json:property name="adress" value="峡谷之巅" />
<json:property name="city" value="大龙坑" />
<json:property name="phone" value="≧ ﹏ ≦" />
<json:property name="type" value="(σ゚∀゚)σ..:*☆哎哟不错哦" />
</json:object>
</json:object>
然后点击运行
在网页上出现 无法解析http://www.atg.com/taglibs/json 字样
然后发现是之前导包的时候 jar包路径在中文目录中,但是我明明记得我是从英文路径导入的jar包啊!!重新修改之后出现页面
包一定要在英文路径下!!
假数据写入成功,
以后一定要避免这种低级错误!!不能浪费师兄还有自己的时间! 又白给几个小时,我giao!
明天计划的事情:往后推进任务
评论