【问题标题】:MVC Crud Operations not workingMVC Crud 操作不起作用
【发布时间】:2016-12-16 09:30:56
【问题描述】:

我正在使用
执行带有保存和更新操作的 emp CRUD 操作 Spring MVC,使用 SimpleUrlHandlerMapping。但是当我运行该项目时,它是
抛出一个名为 /WEB-INF/MAC-servlet.xml 的错误未找到。我创建了 以上 WEB-INF 本身中的 xml 文件。请解决这个问题。我添加了所有春天 JARS 和 MySQL 连接器。我正在使用 MySQL 数据库来执行 操作。这是我项目的以下代码

empsave.jsp
_______________
<h1>Employee Save Form</h1>
<form action="./empsave.ds">
<pre>
Name:       <input type="text" name="name"/>
Email:      <input type="text" name="email"/>
Address:    <input rows="5" cols="15" name="address"/>
<input type="submit" value="save"/>
</pre>
</form>

web.xml
_______________
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" 
version="3.1">
<display-name>EmpCRUDOperations1</display-name>
<welcome-file-list>
   <welcome-file>empsave.jsp</welcome-file>
 </welcome-file-list>
 <servlet>
 <servlet-name>MAC</servlet-name>
 <servlet-class>org.springframework.web.servlet.DispatcherServlet
 </servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>MAC</servlet-name>
 <url-pattern>*.ds</url-pattern>
 </servlet-mapping>
</web-app>

empupdate.jsp
_________________
<h1>Employee Update Form</h1>
<form action="./empsave.ds">
<pre>
ID:         <input type="text" name="ID"/>
Name:       <input type="text" name="name"/>
Email:      <input type="text" name="email"/>
Address:    <input rows="5" cols="15" name="address"/>
<input type="submit" value="save"/>
</pre>
</form>

EmpCRUDController.java
_______________________
package controller;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;

public class EmpCRUDController extends MultiActionController {

public ModelAndView empsave(HttpServletRequest req, HttpServletResponse 
res) throws Exception {

    String name=req.getParameter("name");
    String email=req.getParameter("email");
    String address=req.getParameter("address");
    Statement stmt=null;
    Class.forName("com.mysql.jdbc.Driver");
    java.sql.Connection con= DriverManager.getConnection
("jdbc:mysql://localhost/loginuser", "root", "root");
    ResultSet rs=con.createStatement().executeQuery("select max(id) 
from emp");
    int maxid=0;
    if(rs.next()){
        maxid=rs.getInt(1);
        maxid++;
    }
    PreparedStatement ps=(PreparedStatement) con.prepareStatement
("insert into emp values(?,?,?,?)");
    ps.setInt(1,maxid);
    ps.setString(2, name);
    ps.setString(3, email);
    ps.setString(4, address);
    int i=ps.executeUpdate();
    con.close();
    ModelAndView mav=null;
    if(i!=0)
        mav=new ModelAndView("success");
    else
        mav=new ModelAndView("fail");
    return mav;
}

public ModelAndView empupdate(HttpServletRequest req, 
HttpServletResponse res) throws Exception {

    int id=Integer.parseInt("id");
    String name=req.getParameter("name");
    String email=req.getParameter("email");
    String address=req.getParameter("address");
    Class.forName("com.mysql.jdbc.Driver");
    Connection con=(Connection) DriverManager.getConnection
("jdbc:mysql://localhost/loginuser", "root", "root");
    PreparedStatement ps=(PreparedStatement) con.prepareStatement
("update emp set name=?,email=?,address=?");
    ps.setString(1, name);
    ps.setString(2, email);
    ps.setString(3, address);
    int i=ps.executeUpdate();
    con.close();
    ModelAndView mav=null;
    if(i!=0)
        mav=new ModelAndView("success");
    else
        mav=new ModelAndView("fail");
    return mav;
}
}

MAC-servlet.xml
_________________
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean 
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/empsave.ds">EmpCRUD</prop>
<prop key="/empupdate.ds">EmpCRUD</prop>
</props>
</property>
</bean>
<bean id="EmpCRUD" class="controller.EmpCRUDController"/>
<bean class="org.springframework.web.servlet.view.
 InternalResourceViewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"></property>
</bean>

success.jsp
____________
Save or Update Successfull....

fail.jsp
_________________-
Save or Update fail....

【问题讨论】:

  • 你得到的错误是什么?如果您仍然找不到 MAC-servlet.xml,请确保您正在正确构建和部署项目
  • @RafikBELDI 错误是“严重:上下文初始化失败 org.springframework.beans.factory.BeanDefinitionStoreException:IOException 从 ServletContext 资源 [/WEB-INF/MAC-servlet.xml] 解析 XML 文档;嵌套异常是 java.io.FileNotFoundException: 无法打开 ServletContext 资源 [/WEB-INF/MAC-servlet.xml]"
  • @RafikBELDI,原因:java.io.FileNotFoundException:无法在 org.springframework.web.context.support.ServletContextResource 打开 ServletContext 资源 [/WEB-INF/MAC-servlet.xml]。 getInputStream(ServletContextResource.java:118) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328) ... 34 更多
  • @RafikBELDI,2016 年 8 月 10 日上午 11:33:15 org.apache.catalina.core.ApplicationContext 日志严重:StandardWrapper.Throwable org.springframework.beans.factory.BeanDefinitionStoreException:IOException 解析 XML 文档来自 ServletContext 资源 [/WEB-INF/MAC-servlet.xml];嵌套异常是 java.io.FileNotFoundException: 无法打开 ServletContext 资源 [/WEB-INF/MAC-servlet.xml]
  • @RafikBELDI,原因:java.io.FileNotFoundException:无法打开 ServletContext 资源 [/WEB-INF/MAC-servlet.xml],严重:为 servlet MAC java.io.FileNotFoundException 分配异常: 无法打开 ServletContext 资源 [/WEB-INF/MAC-servlet.xml]

标签: java mysql xml spring-mvc


【解决方案1】:

代码正确请添加正确的 jar 文件并将所有 jar 文件复制到 lib 文件夹我尝试相同的代码但连接的 oracle 11g 数据库工作正常。 jar 列表如下所示

【讨论】:

    猜你喜欢
    • 2021-07-19
    • 1970-01-01
    • 2018-12-09
    • 2021-11-03
    • 2014-07-09
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多