我在做一个数据库的项目,想通过网页来增删查改;
看了两天jsp,发现对结构理解不清楚;
比如,page1.jsp上的button1点击后,怎么把text1和text2的内容提交到数据库(数据库部分的我会写,就是页面的部分不懂);
又如:提交完毕之后怎么返回到之前的页面,页面的跳转?
请高手指点一下,最好给个简单的框架?

解决方案 »

  1.   

    比如,page1.jsp上的button1点击后,怎么把text1和text2的内容提交到数据库(数据库部分的我会写,就是页面的部分不懂);
    在页面上的表单上设置action = page2.jsp 这样向page2.jsp提交,在page2中用(String)request.getparameter(“text1”)得到提交的值又如:提交完毕之后怎么返回到之前的页面,页面的跳转?
    处理后用response.sendRedirect(“page1.jsp”)来返回page1.jsp请高手指点一下,最好给个简单的框架?
    不用什么框架,用框架就不是jsp处理了。
      

  2.   

    现在流行struts2这个框架,而且这个框架也很简单。在jsp页面中有text1、text2 这两个dom元素,添加form表单,然后在action中定义两个public的属性,名字要和text1、text2的name属性值一致,并添加对应get、set方法,在页面点击提交form表单提交,action中就可以直接获得到值了,在struts.xml配置文件中,设置result条件路径,就可以返回到原来页面了。不知道这样的表述你能不能名白,
      

  3.   

    如果text1和text2是form中的两个imput控件,而button1是form的提交按钮,则单击button1将导致浏览器发出一个请求,而text1和text2中用户输入的值将会变成请求的参数。
    请求到达服务器后,jsp可以用EL表达式如${param.text1}来取text1参数值,Servlet则可以用request.getParameter("text1")来取参数值。取得参数值后存数据库你会了。返回到之前的页面呢,1楼说的重定向是一个方式。初学时常用的一个方式是jsp页面提交时就请求本页面(form的action属性指向自己或空缺)。
      

  4.   

    1、是通过最简单的from进行传值的,form是html的标签,
    2、传值到后台的servlet只后使用request.getParameter("aaa");来获取参数
    3、获取到之后就可以操作数据库了给你个超级详细的例子 入门必读:Servlet/JSP配置超详解
      

  5.   

    response.sendRedirect(“page1.jsp”)?????????????????
    response.sendRedirect(“page1.jsp”)!!!!!!!!!!!!!!!!!!!重定向???????
    谁听你的,谁完蛋了
      

  6.   

    详细参照,懒得再打了http://topic.csdn.net/u/20101220/22/c2c26ff4-1734-4b2f-ba6f-086cf7837805.html?seed=1576119992&r=70706295#r_70706295你自己就添加Servlet和JSP就行了。如果添加Servlet需要在web.xml里加上一对
    <servlet>
        <description></description>
        <display-name>LoginServlet</display-name>
        <servlet-name>LoginServlet</servlet-name>
        <servlet-class>org.servlet.LoginServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/LoginServlet</url-pattern>
      </servlet-mapping>
    作为映射,与jsp的action相对应
    另外,web应用中除非是跳到另外一个网站,否则全站禁止response.sendRedirect
    因为重定向并不能共享session信息,他只适用于站外跳转
      

  7.   

    另外:
    如果有大量数据要传,建议写成javabean的形式比如刚才的Servlet就要改下
    package org.servlet;import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import org.bean.UserInfo;/**
     * Servlet implementation class LoginServlet
     */
    public class LoginServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public LoginServlet() {
            super();
            // TODO Auto-generated constructor stub
        } /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String userName = request.getParameter("userName");

    System.out.println(userName);

    // 在画面上显示的值
    request.setAttribute("userName", userName);

    UserInfo userInfo = new UserInfo();
    userInfo.setUserName(userName + "javabean");
    request.setAttribute("userInfo", userInfo);


    request.getRequestDispatcher("/index.jsp").forward(request, response);

    } /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
    }}JavaBean:
    package org.bean;public class UserInfo {
    private String userName; public String getUserName() {
    return userName;
    } public void setUserName(String userName) {
    this.userName = userName;
    }
    }
    而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>
    <form action="LoginServlet" method="post">
    <input type="text" name="userName"/>
    <input type="submit"/>
    </form>
    <!-- 从request.setAttribute这里得到的。如果没有,则不显示 -->
    ${userName}
    <br />
    <!-- 可以用userInfo.userName取值 -->
    <input type="text" value="${userInfo.userName}"/>
    </body>
    </html>