博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置SpringMVC
阅读量:7023 次
发布时间:2019-06-28

本文共 6342 字,大约阅读时间需要 21 分钟。

      这一篇我们进行简单的基础的SpringMVC框架的搭建与初步认识,我以一名初学者的身份,一点一点进行Spring框架的搭建。

      我介绍下我所使用的编程环境,个人见解,不喜勿喷,仅做参考。

      首先,请确定您对jsp或其他网页页面有一点了解,对jstl有一点点了解,理解servlet中的request、response的含义和使用,做过jsp与servlet的直接对接小demo。

      我在电脑上已经装好了eclipse-jee-kepler,我用的是eclipse,自己安装好了JDK7,我认为MyEclipse已经包含了太多插件,而且对于架构和配置做到了部分傻瓜化,而使使用者已经逐渐忘记了自己搭框架的快乐与痛苦,对框架使用也没有更深了解。

      我在eclipese中搭建好了tomcat,并运行无误。在此基础上我们进行springMVC的搭建。如果有人对如何搭建tomcat不了解,可以先jinxingtomcat的学习,参考:http://jingyan.baidu.com/article/8065f87fcc0f182330249841.html。

创建一个Web项目,file-new-project-Dynamic Web project,设置自己的项目名称(如SpringMvcTest),最后记得勾选创建项目本身带有的web.xml。

      搭建SpringMVC需要Spring、hibernate等的jar包,我在项目中使用的jar包可以阅读我的随笔进行下载,。对于jar包的引入按道理说应该是用到哪些jar包就添加哪些jar包,但对于初学者来说,在不了解各个jar包作用的情况下,请按照我说的,将所有SpringMVC的jar包统统放进Web-INF下的lib文件夹中!!!因为即使你知道各个jar包的作用你也不一定知道该怎么取舍。下面我们开始搭建,是不是还有点小激动呢。。。

      首先找到项目——WebContent——Web-INF下的web.xml文件,我们要对此文件进行配置。

1 
2
7
8
contextConfigLocation
9
/WEB-INF/springmvc-servlet.xml, classpath:applicationContext-*.xml
10
11 12
13
springmvc
14
org.springframework.web.servlet.DispatcherServlet
15
1
16
17
18
springmvc
19
*.do
20
21 22
23
org.springframework.web.context.ContextLoaderListener
24
25 26
27
login.jsp
28
29 30

 

      web.xml配置好后,我们要在同目录下,配置springmvc-servlet.xml。(对于xml文件可以右键单击来创建xmlFile)。

login

      这里稍微说一下,当tomcat运行时,项目运行过程中发出一系列的请求,而web.xml中我们定义了listener,当请求根据要求转到springmvc-servlet.xml时,我们会将请求进行分类也就是弄明白请求到底要去到哪个servlet中进行相应的操作,此时或者是由form来提交Action的请求,或者是由url来指定.do,如:(<a href="<%=request.getContextPath()%>/login.do">Press</a>  )。在springmvc-servlet.xml中,我们会根据请求*.do前面的id得到此请求要到哪个servlet类中去进行操作。

      在上面的springmvc-servlet.xml中,我们使用了两种方式来进行Action与servlet的对接,并为他们设置了相应的优先级。一种是直接通过urlname的方法,一种是通过id来判别。上述代码中,order的数值越低,优先级越高。因此当我们检测到login.do请求时,我们优先使用simpleUrlMapping方式。获得*.do,由*.do得到相匹配的servlet的id,根据id得到class位置,从而进行相应的servlet操作。

      接下来我们创建login.jsp与login.java以及一个Model User.java。

      首先我们考虑login的相关页面,login是登陆界面,登录之后应显示成功或失败,我们设定成功后登录到一个显示页面,失败后显示失败页面并打印失败的原因。需要三个jsp页面,在WebContent下新建三个jsp,分别为login.jsp、manageview.jsp、error.jsp。

      login.jsp!!!!!

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
登录

登录

用户名
密码

      manageview.jsp!!!!!!

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
操作控制界面

登录成功

登录者信息
登录者用户名
登录者密码

      error.jsp!!!!!

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>  
出错了

出错了

错误原因为:

      OK!三个页面建立成功。(当然里面有一些细节包含着我在servlet中的以部分操作,比如manageview中,为什么woyongjstl标签得到了loginperson这个对象,并展示了他的信息,这个在后面的servlet中会讲到)。

      下面,我们在src中建一个包,名为com.lxn.model,然后在这个包中建立User.class。

package com.lxn.model;    public class User {      private String username;      private String password;  private String information;          public String getUsername() {          return username;      }      public void setUsername(String username) {          this.username = username;      }      public String getPassword() {          return password;      }      public void setPassword(String password) {          this.password = password;      } public String getInformation() {        return information;    }    public void setInformation(String information) {        this.information = information;    }  }

       在src下,建立包,名为com.lxn.controller,并建立Login.java。继承 AbstractController

package com.lxn.controller;import java.util.ArrayList;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.AbstractController;import com.lxn.model.User;/**  * @author   :lin xiangnan * @date      :2014年8月19日 上午11:46:42  * @function: */public class Login extends AbstractController {    @Override    protected ModelAndView handleRequestInternal(HttpServletRequest request,            HttpServletResponse response) throws Exception {        // TODO Auto-generated method stub        HttpSession session=request.getSession();            User loginperson=new User();        String username=request.getParameter("username");        String password=request.getParameter("password");        loginperson.setUsername(username);        loginperson.setPassword(password);        session.setAttribute("loginperson", loginperson);        System.out.println("用户名为"+loginperson.getUsername());        System.out.println("密码为"+loginperson.getPassword());        if(loginperson.getUsername().equals("1111111")&&loginperson.getPassword().equals("1111111")){                        loginperson.setInformation("登录成功");            return new ModelAndView("manageview","loginperson",loginperson);        }                String error_reason="登录用户名密码错误";        return new ModelAndView("error","error_reason",error_reason);    }    }

      在此servlet的操作中,我们接收到request得到的form提交的值,对其进行检验与登录,当用户名与密码均为1111111时,我们判定此用户可以登录,并将他的相关属性保存在user中,将此user对象传递到页面,进行输出。如果用户名密码错误,我们返回一个error页面,从而得到error的相关信息输出到页面。

      运行login.jsp,右键run on server,伟大的时刻即将来临,期待你们的实现,有问题请留言或评论。

 

      

 

转载于:https://www.cnblogs.com/LinXiangNan/p/3922527.html

你可能感兴趣的文章
Mysql修改存储过程相关权限问题
查看>>
百万宝贝影评感受
查看>>
海量数据高性能分页
查看>>
命令行解析(os.Args,使用flag获取复杂参数)
查看>>
helpful flooring solutions to your home
查看>>
浅析二三线城市地方社区栏目分类的技巧
查看>>
我的友情链接
查看>>
MySQL硬件优化
查看>>
NSDate,NSDateFormatter以及时区转换
查看>>
DNS子域授权
查看>>
华为路由器交换机配置命令大合集
查看>>
Linux 使用pid文件结束nginx
查看>>
MRTG FOR WINDOWS 安装指南
查看>>
我的友情链接
查看>>
windows process activation service不能安装或启动的解决办法
查看>>
关于iPhone 中sqlite文件的使用
查看>>
↑httpd服务配置↑
查看>>
黑马程序员----c#面向过程基础
查看>>
Perl 内置变量
查看>>
c++智能指针《二》 std::tr1::shared_ptr
查看>>