spring mvc-基础-简单程序
其实和visual studio的mvc差不多,就是语言和平台不同- -因为之前在澳大利亚学的是visual studio的mvc,所以这里会对照一下。
mvc: model,view,controller结构。 把数据库数据封包成enity然后面向对象式处理,contoller控制view进行显示。
平台:idea
后台语言:java
1.创建spring mvc工程
2.项目名称,项目路径
我之前用idea做过一次作业,当时第一次用直接放在workspace(这个文件夹是我自己建的)里了,所以建了个新的存这个。
3.修改web.xml
3.1打开web.xml
3.2 修改<servlet-mapping>,这个是配置事件响应的,决定了前台什么样的请求会被处理。
把拦截form表单的
<servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.form</url-pattern> </servlet-mapping>
修改为拦截所有请求
<servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
4.修改dispatcher-servlet.xml
4.1 打开dispatcher-servlet.xml
4.2 修改配置文件dispatcher-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <!-- /hello 路径的请求交给 id 为 helloController 的控制器处理--> <prop key="/hello">helloController</prop> </props> </property> </bean> <bean id="helloController" class="controller.HelloController"></bean> </beans>
在beans里面加了2个bean
bean是用来进行实例化的(大概?),可以帮助对数据库进行增删改查。在visual studio中使用code first是自动生成的。
5 创建HellloContoller类
在src下创建pakage controller,然后创建class HelloController,这个controller表明他是控制hello页面的显示。
visual studio中会在创建数据库后可以自动创建对应model,然后自动创建controller和view。
package controller; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; public class HelloController implements Controller{ @Override public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception { ModelAndView mav = new ModelAndView("index.jsp"); mav.addObject("message", "Hello Spring MVC"); return mav; } }
这时候可能会报错找不到javax.servlet
需要安装tomcat并配置
安装tomcat可以参考我的另一个笔记-。-
https://www.cnblogs.com/clamp7724/p/11484331.html
右键当前工程(下图左上角project下面那个SpringTest)- Open Module Settings - 然后点dependencies选项卡。
点击右上角的绿色加号添加依赖(如下图所示)
添加jsp-api.jar 和 servlet-api.jar
添加完成后是这样子-。-
点击ok,错误消除。
修改index.jsp
html上面那段是固定的,最后isELIgnored是决定要不要把${}当成java代码处理。 我写了一个 ${2000%20} 做实验,如果isELIgnored是false,则显示0,如果是true,则显示${2000%20}
${message}则是从后台传递的参数,如果这个是空的话,则说明没有传递成功。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
<html>
<head>
<title>Title</title>
</head>
<br>
<h1>${2000%20}</h1>
<br>
<h1>${message }</h1>
</body>
</html>
配置启动tomcat
1.
run - Edit Configurations
点左上角绿色加号添加tomcat(如果列表里没有有可能再more里面- -)
修改application server 选择本地的tomcat, 服务器修改名字
完成后如下
deployment标签下,右上角绿色加号,添加artifact,点ok
启动工程,网址输入 http://localhost:8080/hello <---- 这里hello是在dispatcher-servlet.xml里配置的
<prop key="/hello">helloController</prop> 指把/hello传递给helloController进行处理。