HTML+SSM + MySQL的简单登录(二)
2017-07-29 18:16
246 查看
二、SpringMVC的配置
对Spring改写的登录Demo进行改造,添加SpringMVC配置。
Spring版本:http://blog.csdn.net/u014360189/article/details/76267126
SpringMVC的配置需要用到的jar包:spring-webmvc-*.RELEASE.jar(*是版本号)
1. 配置web.xml
在web.xml中进行SpringMVC核心配置,主要配置:
Servlet:DispatcherServlet 前端控制器
init-param:contextConfigLocation
defaultServlet:配置默认servlet来处理静态资源的访问
2. 添加spring-context.xml
在这里,主要配置
HandlerMapping: 处理映射器,为用户发送的请求找到合适的Handler Adapter。这里使用默认的BeanNameUrlHandlerMapping。
HandlerAdapter: 可以简单的理解为调用Controller中的方法,这里使用SimpleControllerHandlerAdapter。
HandlerMapping+HnadlerAdapter:找到url所对应的Controller Method。
ViewResolver:视图解析器,Controller会返回一个view,这个view是String类型的逻辑视图名。ViewResolver指定了物理视图的前缀和后缀,这样根据逻辑视图名就能拼出物理视图,使用InternalResourceViewResolver。
Cotroller :实际处理请求的类。
3. 添加两个页面
(1)Index.html 请求index.action
(2)/WEB-INF/html/welcome.html
4. 添加Controller
这里添加两个controller,都继承AbstractController。
(1)处理index.html的请求的IndexController
(2)处理login.html的请求的LoginController,其实是把LoginServlet进行改造得来的
IndexController:
简单的返回login,跳转的login.html画面
LoginController参照IndexContoller的写法。
5.关于Ajax处理页面跳转
由于Ajax是异步刷新,所以无法依靠SpringMVC的ModelAndView直接刷新页面,替换成返回的页面。
这里提出两种解决方法:
1. 在Ajax的回调函数中使用window.location.href来实现页面的跳转。但是这里有个局限,无法跳转的/WEB-INF/目录下,如果页面在根目录下,则可以使用。
2. 在index.html页面上设置一个div用来刷新SpringMVC返回过来的页面。
在这个demo中使用第二中方法。
6. 关于SpringMVC返回的页面中文乱码问题
在web.xml中配置字符集过滤器
源码位置:
链接: https://pan.baidu.com/s/1kViMw9T 密码: yg5n
对Spring改写的登录Demo进行改造,添加SpringMVC配置。
Spring版本:http://blog.csdn.net/u014360189/article/details/76267126
SpringMVC的配置需要用到的jar包:spring-webmvc-*.RELEASE.jar(*是版本号)
1. 配置web.xml
在web.xml中进行SpringMVC核心配置,主要配置:
Servlet:DispatcherServlet 前端控制器
init-param:contextConfigLocation
defaultServlet:配置默认servlet来处理静态资源的访问
<!-- springMVC核心配置 --> <servlet> <servlet-name>mvc-dispatch</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:dispatch-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvc-dispatch</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <!-- 激活Tomcat的defaultServlet来处理静态文件 --> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping>
2. 添加spring-context.xml
在这里,主要配置
HandlerMapping: 处理映射器,为用户发送的请求找到合适的Handler Adapter。这里使用默认的BeanNameUrlHandlerMapping。
HandlerAdapter: 可以简单的理解为调用Controller中的方法,这里使用SimpleControllerHandlerAdapter。
HandlerMapping+HnadlerAdapter:找到url所对应的Controller Method。
ViewResolver:视图解析器,Controller会返回一个view,这个view是String类型的逻辑视图名。ViewResolver指定了物理视图的前缀和后缀,这样根据逻辑视图名就能拼出物理视图,使用InternalResourceViewResolver。
Cotroller :实际处理请求的类。
<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"> <!-- HandlerMapping --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!-- HandlerAdapter --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> <!-- ViewResolver --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/html/"/> <property name="suffix" value=".html"/> </bean> <!-- 配置各层的bean组件 --> <bean id="dbUtil" class="com.lizem.check_right.tools.DButil"> <property name="driver" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/test"></property> <property name="username" value="root"></property> <property name="pwd" value="root"></property> </bean> <bean id="loginDAO" class="com.lizem.check_right.dao.LoginDAOImp"> <property name="db" ref="dbUtil"></property> </bean> <bean id="loginService" class="com.lizem.check_right.service.LoginServiceImp"> <property name="loginDAO" ref="loginDAO"></property> </bean> <!-- 配置controller --> <!-- 用“Url样式”来定义一个控制器Bean的名字,前面必须加'/',否则会报404,此时这个‘index.action’被 作为一个bean组件来使用,而不是一个controller的映射 --> <bean name="/index.action" class="com.lizem.check_right.controller.IndexController"> </bean> <!-- 仔细看日志信息会有,信息: Mapped URL path [/login.action] onto handler '/login.action' --> <bean name="/login.action" class="com.lizem.check_right.controller.LoginController"> <property name="loginService" ref="loginService"></property> </bean> <bean name="/getUser.action" class="com.lizem.check_right.controller.UserController"> </bean> </beans>
3. 添加两个页面
(1)Index.html 请求index.action
(2)/WEB-INF/html/welcome.html
4. 添加Controller
这里添加两个controller,都继承AbstractController。
(1)处理index.html的请求的IndexController
(2)处理login.html的请求的LoginController,其实是把LoginServlet进行改造得来的
IndexController:
简单的返回login,跳转的login.html画面
public class IndexController extends MultiActionController { @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { PrintWriter out = response.getWriter(); return new ModelAndView("login"); } }
LoginController参照IndexContoller的写法。
5.关于Ajax处理页面跳转
由于Ajax是异步刷新,所以无法依靠SpringMVC的ModelAndView直接刷新页面,替换成返回的页面。
这里提出两种解决方法:
1. 在Ajax的回调函数中使用window.location.href来实现页面的跳转。但是这里有个局限,无法跳转的/WEB-INF/目录下,如果页面在根目录下,则可以使用。
2. 在index.html页面上设置一个div用来刷新SpringMVC返回过来的页面。
在这个demo中使用第二中方法。
6. 关于SpringMVC返回的页面中文乱码问题
在web.xml中配置字符集过滤器
<filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
源码位置:
链接: https://pan.baidu.com/s/1kViMw9T 密码: yg5n
相关文章推荐
- HTML+SSM + MySQL的简单登录(一)
- HTML+SSM + MySQL的简单登录(三)
- HTML+Servlet + MVC + JDBC + MySQL的简单登录
- Android如何用json格式传数据到后台(SSM) 做一个简单的登录流程
- Java+Tomcat+MySQL实现简单的网页注册和登录
- Html制作简单而漂亮的登录页面
- 用PHP和HTML写一个简单的网站登录注册项目
- php+mysql实现简单登录注册修改密码网页
- Android使用jsp+sevlet+mysql实现简单的前后台登录系统
- JavaWeb + mySQL + Android 实现Android简单的注册登录
- Html+css+js+jquery实现简单页面登录
- ssm学习总结-Ajax实现简单的登录校验
- 绿色简单的学校登录html页面
- Myeclipse+mysql+tomcat+java 制作html登录界面
- html简单登录页面代码
- HTML5之一个简单的登录界面
- XAMPP实现HTML&MySQL&PHP简单的表单与数据库交互
- Unity3D C# MySql 简单的登录验证
- java web: eclipse & maven & jetty & struts2 & mysql = 简单登录页面
- ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析