Rumah > Soal Jawab > teks badan
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd" > <!-- 定义支持注解的HanlderMapping --> <mvc:annotation-driven/> <!-- 开启组件扫描,启用IOC注解配置 --> <context:component-scan base-package="com.caibai"/> <util:properties id="dbParams" location="classpath:db.properties"> </util:properties> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/"> </property> <property name="suffix" value=".jsp"> </property> </bean> </beans>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.form</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
LoginController.java
package com.caibai.controller;
import javax.annotation.Resource;
//import javax.ejb.Remove;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.caibai.search.User;
import com.caibai.search.UserService;
@Controller
public class LoginController {
@Resource
private UserService service;
@RequestMapping("/tologin.form")
public String toLogin(){
return "login";
}
@RequestMapping("/login.form")
public String login(
String username,String number,Model model){
User user = service.checkLogin(username,number);
if(!"".equals(user.getCard())){
model.addAttribute("name", user.getName());
model.addAttribute("card", user.getCard());
model.addAttribute("number", user.getNumber());
model.addAttribute("score", user.getScore());
return "ok";
}else {
model.addAttribute("msg", "会员信息错误!");
return "login";
}
}
}
代码如上,页面访问login.jsp静态页面是可以的,但是填写上登陆数据不能跳转,直接访问login.form也是报404错误,请各位大神看下是什么原因?
怪我咯2017-04-17 17:47:41
Saya membaca semula penerangan anda dan anda berkata 你可以直接访问.jsp页面
! ! !
Kemudian jsp anda hendaklah diletakkan terus di bawah laluan akar ! Kemudian anda tidak seharusnya mengkonfigurasi parameter prefix
atau value="/"
Dan sebab paparan diletakkan di bawah WEB-INF
hanyalah untuk menghalang pengguna daripada mengaksesnya secara langsung tanpa melalui pengawal Ini akan menyebabkan data Model pada halaman tidak wujud , jadi Saya menasihati anda untuk meletakkannya di sana juga.
————————————————————————————————
Nampaknya tiada masalah dengan konfigurasi saya cadangkan anda menetapkan titik putus dalam kaedah .form.
Kini nampaknya Pemetaan telah berjaya, tetapi Paparan yang dikembalikan tidak ditemui .
Sila sahkan sama ada /WEB-INF/ok.jsp
dan /WEB-INF/login.jsp
wujud.
Selain itu, pandangan yang biasa saya lihat tidak dilemparkan terus di bawah /WEB-INF/
, tetapi semuanya berada di bawah direktori /WEB-INF/views
atau /WEB-INF/jsps
.
Lihat jika anda telah meletakkannya seperti ini, maka anda tersalah menulis fail konfigurasi.
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsps/">
</property>
<property name="suffix" value=".jsp">
</property>
</bean>
天蓬老师2017-04-17 17:47:41
404 biasanya mempunyai dua sebab Satu ialah RequestMapping ditulis dengan salah atau tidak ditemui, tetapi konfigurasi anda sepatutnya betul kerana templat anda tidak wujud. Adakah html atau ok.jsp ok.html wujud
Selain itu, akan ada gesaan pada halaman 404 yang merupakan sebabnya
PHP中文网2017-04-17 17:47:41
<context:component-scan base-package="cn.com.xxx.xxx">
<context:include-filter type="annotation" expression="org.aspectj.lang.annotation.Aspect"/>
</context:component-scan>
高洛峰2017-04-17 17:47:41
@ruixie lebih betul.
PS: Untuk menambah, anda boleh meletakkan titik putus dalam kaedah yang akan dipanggil oleh pengawal untuk melihat sama ada permintaan memasuki kaedah yang perlu dipanggil.
Jika ia tidak masuk, ia biasanya ralat dalam pemetaan konfigurasi.
Jika anda memasukkan kaedah, ia membuktikan bahawa "log masuk" yang dikembalikan belum dihuraikan oleh penghurai pandangan.
怪我咯2017-04-17 17:47:41
Jika dilihat dari fail konfigurasi, tiada masalah, kerana ralat 404 dilaporkan, menunjukkan bahawa URL tidak dapat ditemui, saya rasa anda sepatutnya boleh memasuki lapisan Pengawal masalah mesti digabungkan dengan keseluruhan anda Berdasarkan projek, anda boleh mencubanya dahulu dan kemudian menyemak masalah berdasarkan jawapan [Fallen Angel 008]
黄舟2017-04-17 17:47:41
404 Tidak Ditemui: Sumber yang diminta tidak ditemui (sumber yang diminta tidak ditemui)
LoginController
Gunakan sahaja @Controller
tanpa menggunakan @ResponseBody
atau @RestController
bersama-sama, menunjukkan penggunaan Lihat perubahan hala permintaan. Sama ada "/tologin.form" dan "/login.form" berjaya dipetakan dan dipantau boleh dilihat daripada log permulaan aplikasi, yang serupa dengan log berikut:
2016-04-12 23:29:35.157 INFO 2398 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto public java.lang.String hello.HelloController.index()
Pemetaan Servlet springmvc
yang anda konfigurasikan hanya mendengar *.form
dan tidak akan mendengar permintaan yang diubah hala oleh *.jsp
Permintaan ini akan jatuh pada default
Servlet yang dikonfigurasikan dalam Tomcat conf/web.xml. jsp
Di manakah fail diletakkan?
Cuba ubah suainya seperti ini:
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>