zoukankan      html  css  js  c++  java
  • hibernate与Struts框架结合编写简单针对修改练习

    失败页面fail.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    操作失败!
    </body>
    </html>
    

      

    页面列表jsp.

    <%@page import="com.hanqi.entity.Student"%>
    <%@page import="java.util.List"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body> 
    
    <%
    
    List<Student> ls=(List<Student>)request.getAttribute("Studentlist");
    
    for(Student st:ls)
    {
    	out.print(st+"【<a href='deleteStudent?sno="+st.getSno()
    	+"'>删除</a>】【<a href='updateStudent?sno="+st.getSno()+"'>修改</a>】<br>");	
    }
    
    %>
    </body>
    </html>
    

      

    修改页面jsp

    <%@page import="com.hanqi.entity.Student"%>
    <%@page import="com.hanqi.service.StudentService"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <%
    	Student st=(Student)request.getAttribute("student");
    %>
    修改界面
    <form action="update" method="post">
    学号:<input type="text" name="student.sno" value=<%=st.getSno() %> readonly="readonly">
    <br><br>
    年龄:<input type="text" name="student.age" value=<%=st.getAge() %>>
    <br><br>
    姓名:<input type="text" name="student.sname" value=<%=st.getSname() %>>
    <br><br>
    生日:<input type="text" name="student.birthday" value=<%=st.getBirthday() %>>
    <br><br>
    金额:<input type="text" name="student.money" value=<%=st.getMoney() %>>
    <br><br>
    <input type="submit" value="提交">
    
    </form>
    
    </body>
    </html>
    

    Dao包

    //查询单条信息
        public Student  query(int sno)
        {
            init();
            Student st=(Student)se.get(Student.class, sno);
            destroy();
            return st;
        }
        
        //修改方法
        public void update(Student student)
        {
            init();
            se.saveOrUpdate(student);
            destroy();
            
        }

    service包

        //查询单条信息
        public Student query(int sno)
        {
            return new StudentDao().query(sno);
        }
        
        //修改
        public void update(Student student)
        {
             new StudentDao().update(student);
        }
        

    Action类

    package com.hanqi.action;
    
    import java.util.List;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.apache.struts2.interceptor.ServletRequestAware;
    
    import com.hanqi.entity.Student;
    import com.hanqi.service.StudentService;
    
    public class StudentAction implements ServletRequestAware {
        
        private HttpServletRequest hsr;
        
        
        //欲模型方式
        private Student student;
        
        
        public Student getStudent() {
            return student;
        }
    
    
        public void setStudent(Student student) {
            this.student = student;
        }
    
    
    
        //查询单挑信息
        public     String update()
        {
            String rtn="fail";
            try{
                String sno=hsr.getParameter("sno");
                Student st=new StudentService().query(Integer.parseInt(sno));
                hsr.setAttribute("student", st);
                rtn="ok";
            
            }catch(Exception e)
            {
                e.printStackTrace();
            }
            return rtn;
        }
    
    
    //修改
        public String updateStudent()
        {
            String rtn="fail";
            try{
            new StudentService().update(student);
            
            rtn="ok";
            }catch(Exception e)
            {
                e.printStackTrace();
            }
            return rtn;
        }
    
    @Override
        public void setServletRequest(HttpServletRequest arg0) {
            
            hsr=arg0;
        }

    Struts.xml文件

    <!-- 查询单条信息 -->
       <action name="updateStudent" class="com.hanqi.action.StudentAction" method="update">
       <result name="ok">/WEB-INF/pages/update.jsp</result>
       <result name="fail">/WEB-INF/pages/fail.jsp</result>
       </action>
       
       <!-- 修改 -->
        <action name="update" class="com.hanqi.action.StudentAction" method="updateStudent">
       <result name="ok" type="redirectAction">selectStudent</result>
       <result name="fail">/WEB-INF/pages/fail.jsp</result>
       </action>

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>Test21</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      
     	 <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
    
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    </web-app>
    

      hibernate.hbm.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                                             "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
     <session-factory >
     <!-- 连接数据库 -->
      <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
      <property name="hibernate.connection.password">123456</property>
      <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
      <property name="hibernate.connection.username">test01</property>
      <!-- 数据库方案 -->
      <property name="hibernate.default_schema">TEST01</property>
      <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
      <!-- 调试 -->
      <property name="hibernate.show_sql">true</property>
      <property name="hibernate.format_sql">true</property>
      <!-- 自动建表方式 -->
      <property name="hibernate.hbm2ddl.auto">update</property>
      <!-- 注册映射文件 -->
      <mapping resource="com/hanqi/entity/Student.hbm.xml"/>
    
     </session-factory>
    </hibernate-configuration>
    

      

  • 相关阅读:
    leetcode 11. 盛最多水的容器
    gluoncv 导入方式
    python import
    leetcode 55.跳跃游戏
    leetcode 31. 下一个排列
    gluoncv 下载预训练模型速度太慢
    gluoncv voc_detection
    shuf 按行打乱文本命令
    __call__
    @property 装饰器
  • 原文地址:https://www.cnblogs.com/tfl-511/p/6072983.html
Copyright © 2011-2022 走看看