为什么我用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版
- 参与学习 人
- 提交作业 9410 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程



恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星