我在做一个数据库的项目,想通过网页来增删查改;
看了两天jsp,发现对结构理解不清楚;
比如,page1.jsp上的button1点击后,怎么把text1和text2的内容提交到数据库(数据库部分的我会写,就是页面的部分不懂);
又如:提交完毕之后怎么返回到之前的页面,页面的跳转?
请高手指点一下,最好给个简单的框架?
看了两天jsp,发现对结构理解不清楚;
比如,page1.jsp上的button1点击后,怎么把text1和text2的内容提交到数据库(数据库部分的我会写,就是页面的部分不懂);
又如:提交完毕之后怎么返回到之前的页面,页面的跳转?
请高手指点一下,最好给个简单的框架?
在页面上的表单上设置action = page2.jsp 这样向page2.jsp提交,在page2中用(String)request.getparameter(“text1”)得到提交的值又如:提交完毕之后怎么返回到之前的页面,页面的跳转?
处理后用response.sendRedirect(“page1.jsp”)来返回page1.jsp请高手指点一下,最好给个简单的框架?
不用什么框架,用框架就不是jsp处理了。
请求到达服务器后,jsp可以用EL表达式如${param.text1}来取text1参数值,Servlet则可以用request.getParameter("text1")来取参数值。取得参数值后存数据库你会了。返回到之前的页面呢,1楼说的重定向是一个方式。初学时常用的一个方式是jsp页面提交时就请求本页面(form的action属性指向自己或空缺)。
2、传值到后台的servlet只后使用request.getParameter("aaa");来获取参数
3、获取到之后就可以操作数据库了给你个超级详细的例子 入门必读:Servlet/JSP配置超详解
response.sendRedirect(“page1.jsp”)!!!!!!!!!!!!!!!!!!!重定向???????
谁听你的,谁完蛋了
<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信息,他只适用于站外跳转
如果有大量数据要传,建议写成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>