java web基础

1.先在jsp文件创建html界面
表格中的action要跟Servlet代码中的名字一样

<form action=" TestServlet26" method="get ">
	用户名:<input type="text" name="username"><br>
	密码:<input type="password" name="password"><br>
	<input type="submit" value="登录">
</form>

在Servlet项目中的get方法中有如下代码

//1.获取用户名.密码
String username=request.getParameter("username");
String password=request.getParameter("password");
//2.判断用户名和密码是否正确
if(username.equals("tcb")&&password.equals("123")){
	response.sendRedirect("welcome.jsp");
}else{
	response.sendRedirect("login.jsp");
}
//3.如果正确,跳转到welcome.jsp
//4.如果不正确,跳转到login.jsp

Student代码:
在这里插入图片描述
登录代码:
在这里插入图片描述

<form action=" LoginServlet" method="get ">
	用户名:<input type="text" name="username"><br>
	密码:<input type="password" name="password"><br>
<input type="submit" value="登录">
String username=request.getParameter("username");
String password=request.getParameter("password");
request.setCharacterEncoding("utf-8");	
		
//把用户名存储到request域对象中
request.setAttribute("username", username);
if(username.equals("tcb")&&password.equals("tcb")){
	//重定向
	//response.sendRedirect("welcome.jsp");
	//请求转发
	RequestDispatcher dispatcher=request.getRequestDispatcher("welcome.jsp");
	dispatcher.forward(request, response);
}else{
	//response.sendRedirect("logins.jsp");
	//发送到logins界面
	RequestDispatcher dispatcher=request.getRequestDispatcher("logins.jsp");
	dispatcher.forward(request, response);
}

接收代码:

<body>
${username}欢迎您,登录成功; 
</body>

注册代码:
在这里插入图片描述

<form action="RegisterServlet26" method="get">
	学号:<input type="text" name="no"/><br>
	姓名:<input type="text" name="name"/><br>
	性别:<input type="radio" name="sex" value="男"/><input type="radio" name="sex" value="女"/><br>
	专业:<input type="text" name="profession"/><br>
	<input type="submit" value="注册">
</form>
response.setContentType("text/html;charset=utf-8");
//1.请求网页的数据
String no=request.getParameter("no");
String name=request.getParameter("name");
String sex=request.getParameter("sex");
String profession=request.getParameter("profession");
//2.把请求到的数据存储域对象里
Student student=new Student();
student.setS_id(no);
student.setS_name(name);
student.setS_sex(Boolean.getBoolean(sex));
student.setS_major(profession);
request.setAttribute("student", student);
//3.请求转发到showmessage.jsp去显示信息
//请求转发
RequestDispatcher dispatcher=request.getRequestDispatcher("showmessage.jsp");
dispatcher.forward(request, response);

接收代码

<body>
恭喜您注册成功,您的学号是${student.getS_id()};姓名:${student.getS_name()};性别:${student.getS_sex()}专业:${student.getS_major()}; 
</body>

查询界面:
在这里插入图片描述

<form action=" SelectServlet" method="get ">
	请输入学号:<input type="text" name="id">
	<input type="submit" value="查询">
</form>
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
String id=request.getParameter("id");
List<Student> stus=new ArrayList<Student>();
stus.add(new Student("20171216","田超斌",true,"软件工程"));
stus.add(new Student("19002","李白",false,"计算机"));
stus.add(new Student("19101","刘名动",true,"金融"));
stus.add(new Student("19003","李嘉豪",true,"计算机"));	
stus.add(new Student("19102","陈晨",false,"金融"));
int a=0;
for(int i=0;i<stus.size();i++){
	if(stus.get(i).getS_id().equals(id)){
		a=1;
		request.setAttribute("stus", stus.get(i));
		break;
	}else{
		a=0;
	}
}
request.setAttribute("id", id);
		
if(a==1){
	RequestDispatcher dispatcher=request.getRequestDispatcher("yes.jsp");
	dispatcher.forward(request, response);
}else if(a==0){
	RequestDispatcher dispatcher=request.getRequestDispatcher("no.jsp");
	dispatcher.forward(request, response);
}

数据库查询数据

输入数据界面
在这里插入图片描述

<form action="SelectStusLikeServlet" method="post">
	请输入姓名:<input type="text" name="name">
	<input type="submit" value="查询"><input type="submit" value="查询全部">
</form>

sevlet服务代码

package action;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import bean.Student;

/**
 * Servlet implementation class SelectStusLikeServlet
 */
@WebServlet("/SelectStusLikeServlet")
public class SelectStusLikeServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	Connection conn=null;
	Statement stmt=null;
	ResultSet rs=null;
	PreparedStatement pstmt=null;
    /**
     * @see HttpServlet#HttpServlet()
     */
    public SelectStusLikeServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("utf-8");
		String name=request.getParameter("name");
		
		try {
			Class.forName("com.mysql.jdbc.Driver");
			String url="jdbc:mysql://localhost:3306/edu?useUnicode=true&characterEncoding=UTF-8";
			String userName="root";//自己数据库的账号
			String password="";//自己数据库的密码
			conn=DriverManager.getConnection(url, userName, password);
			//第二个方法
			String sql="select * from student where s_name like ?";
			pstmt=conn.prepareStatement(sql);
			pstmt.setString(1, "%".concat(name).concat("%"));//1是指sql语句的第一个?;
			rs=pstmt.executeQuery();
			//第一个方法
			//stmt=conn.createStatement();
			//String sql="select * from student where s_name like '%".concat(name).concat("%'");
			//rs= stmt.executeQuery(sql);
			
			//这里定义一个列表,把结果集中的Student的对象存放列表中
			
			List stus=new ArrayList<Student>();
			while(rs.next()){
				//把结果集当前的数据转成一个Student对象
				Student s=new Student();
				s.setS_id(rs.getString("s_id"));
				s.setS_name(rs.getString("s_name"));
				s.setS_sex(rs.getBoolean("s_sex"));
				s.setS_birthday(rs.getDate("s_birthday"));
				s.setS_major(rs.getString("s_major"));
				s.setS_scholarship(rs.getInt("s_scholarship"));
				//把对象存到列表
				stus.add(s);
//				String xh= rs.getString("s_id");
//				String xm=rs.getString("s_name");
//				String xb=rs.getString("s_sex");
//				Date csrq =rs.getDate("s_birthday");
//				System.out.println("xh="+xh+",xm="+xm+",xb="+xb+",csrq="+csrq);
			}
			
			//把列表存到域对象
			request.setAttribute("stus", stus);
			RequestDispatcher dispatcher=request.getRequestDispatcher("selectResult.jsp");
			dispatcher.forward(request, response);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				conn.close();
				pstmt.close();
				rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

接收界面
在这里插入图片描述

<body>
<c:out value="Hello world!"></c:out>
	<table id="customers">
		<tr>
			<th>学号</th>
			<th>姓名</th>
			<th>性别</th>
			<th>出生日期</th>
			<th>专业</th>
			<th>奖学金</th>
		</tr>
		<!--是一个循环 -->
		<c:forEach var="s" items="${stus }">
			<tr>
				<td>${s.s_id }</td>
				<td>${s.s_name }</td>
				<td>
					<c:if test="${s.s_sex==true }"></c:if>
					<c:if test="${s.s_sex==false }"></c:if>
				</td>
				<td>${s.s_birthday }</td>
				<td>${s.s_major }</td>
				<td>${s.s_scholarship }</td>
			</tr>
		</c:forEach>
	</table>
</body>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值