为什么我用request.getRequestURI()只能获取到一个斜杠呢
相关截图:
相关代码:
applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mv="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"> <context:component-scan base-package="skn.work"/> <mvc:annotation-driven/> <mvc:default-servlet-handler/> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <bean class="skn.work.MyInterceptor"/> </mvc:interceptor> </mvc:interceptors> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/> <!-- 数据源--> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test?serverTimezone=GMT&characterEncoding=utf-8"/> <property name="username" value="root"/> <property name="password" value="021325skn"/> </bean> <!-- jdbctemplate提供数据CRUD的API--> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"/> </bean> <bean id="StudentDao" class="skn.work.StudentDao"> <property name="jdbcTemplate" ref="jdbcTemplate"/> </bean> </beans> login.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Login</title> </head> <body> <form action="/uerLogin" method="post" > 账号:<input name="id" type="text"> <br> 密码:<input name="password" type="text"> <br> <input type="submit" value="登录"> <input type="reset" value="重新输入"> </form> <a href="user.jsp">注册用户</a> </body> </html> sknn.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> sdjasjda </body> </html> user.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>user</title> </head> <body> 欢迎用户${requestScope.msg} <form action="" method="post" > 账号:<input name="id" type="text"> <br> 密码:<input name="password" type="text"> <br> <input type="submit" value="注册"> <input type="reset" value="重新输入"> </form> </body> </html> control.java package skn.work; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @Controller public class Control { @RequestMapping("/uerLogin") public String login(HttpServletRequest request, HttpServletResponse response, HttpSession session){ String id = request.getParameter("id"); String password = request.getParameter("password"); Student student = new Student(); student.setId(id); student.setPassword(password); ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); StudentDao studentDao = context.getBean("StudentDao", StudentDao.class); Boolean flag = studentDao.isStudent(student); if(flag){ return "index"; }else{ return "login"; } } } MyIntereceptor.java package skn.work; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.util.ArrayList; public class MyInterceptor implements HandlerInterceptor { private String[] urls = {"login.jsp", "userLogin"}; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String url = request.getRequestURI(); if(checkURL(url)){ return true; }else { HttpSession session = request.getSession(); if(session.getAttribute("user") == null){ request.getRequestDispatcher("login.jsp").forward(request, response); return false; }else{ return true; } } } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("sadasda"); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("sadusada"); } private boolean checkURL(String url){ boolean res = false; for (String u : urls){ if(url.contains(u)){ res = true; break; } } return res; } } Student.java package skn.work; public class Student { String id; String password; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "Student{" + "id='" + id + '\'' + ", password='" + password + '\'' + '}'; } } package skn.work; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import java.util.List; public class StudentDao { private JdbcTemplate jdbcTemplate; public JdbcTemplate getJdbcTemplate() { return jdbcTemplate; } public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public void insertStudent(Student student){ String sql = "insert into students(id, password) value(?, ?)"; jdbcTemplate.update(sql, new Object[]{student.getId(), student.getPassword()}); } public boolean isStudent(Student student){ String sql = "select * from students where id = ? and password = ?"; RowMapper<Student> rowMapper = new BeanPropertyRowMapper<>(Student.class); List<Student> list = jdbcTemplate.query(sql, new Object[]{student.getId(), student.getPassword()}, rowMapper); if(list.isEmpty()){ return false; }else{ return true; } } }
问题描述:
不知道为什么我只能获取到/
10
收起
正在回答 回答被采纳积分+1
java工程师2020版
- 参与学习 人
- 提交作业 9401 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星