通过servlet,useBean动作制作登陆页面

第一步:先写一个登陆页面,将登陆信息提交到LoginServlet。

<h1>登陆页面</h1>
	<hr>
	<form action="LoginServlet" method="post">
		<table>
			<tr>
				<td>用户名:</td>
				<td><input type="text" name="username"></td>
			</tr>
			<tr>
				<td>密码:</td>
				<td><input type="password" name="password"></td>
			</tr>
			<tr>
				<td>爱好:</td>
				<td><input type="checkbox" name="interest" value="篮球">篮球
					<input type="checkbox" name="interest" value="足球">足球
					<input type="checkbox" name="interest" value="乒乓球">乒乓球
				</td>
			</tr>
			<tr>
				<td><input type="submit" value="提交"></td>
			</tr>
		</table>
	</form>

第二步:写一个控制处理提交信息的servlet的类,并将处理的信息传入user对象中保存,同时从request中获得本次操作的session,并将user中保存的信息存入其中。然后将request转发给doLogin.jsp文件。

package com.wh.controller;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.wh.entity.User;

@SuppressWarnings("serial")
public class LoginServlet extends HttpServlet {
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("utf-8");
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String[] interests = request.getParameterValues("interest");
		User user = new User(username, password, interests);
		HttpSession session = request.getSession();
		session.setAttribute("user", user);
		request.getRequestDispatcher("/doLogin.jsp").forward(request, response);
	}
}

第三步:帮LoginServlet配置web.xml文件。

<servlet>
		<servlet-name>loginServlet</servlet-name>
		<servlet-class>com.wh.controller.LoginServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>loginServlet</servlet-name>
		<url-pattern>/LoginServlet</url-pattern>
	</servlet-mapping>

第五步:写一个user的avaBean。

ublic class User {
	private String username;
	private String password;
	private String[] interests;
	public User(String username, String password, String[] interests) {
		super();
		this.username = username;
		this.password = password;
		this.interests = interests;
	}
	public User() {
		super();
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String[] getInterests() {
		return interests;
	}
	public void setInterests(String[] interests) {
		this.interests = interests;
	}
	@Override
	public String toString() {
		return "User [username=" + username + ", password=" + password + ", interests=" + Arrays.toString(interests)
				+ "]";
	}

	

}

第六步:通过useBean动作获得存放在javaBean中的username和password并输出,通过session获得Internets的信息并遍历输出。

<h1>处理登陆页面</h1>
	<hr>
	<jsp:useBean id="user" class="com.wh.entity.User" scope="session" />
	用户名:<jsp:getProperty property="username" name="user" />
	<br> 密码:<jsp:getProperty property="password" name="user" />
	<br> 爱好:<%
		 User u = (User) session.getAttribute("user");
		String[] interests = u.getInterests();
		for (String s : interests) {
			out.print(s + "&nbsp;");
		} 
		
	%>

总结:编写代码的过程中肯定是会遇到bug的,要在实践中慢慢摸索自己的解决问题的办法。我的经验是遇到bug先看报错信息,找到对应的地方进行修改,修改后问题没有解决的话,试着加入一些其他的调试程序,来精确定位bug是出在什么地方,找到了出问题的地方,就等于成功了一半。

猜你喜欢

转载自blog.csdn.net/qq_36109477/article/details/85008617