第一步:先写一个登陆页面,将登陆信息提交到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 + " ");
}
%>
总结:编写代码的过程中肯定是会遇到bug的,要在实践中慢慢摸索自己的解决问题的办法。我的经验是遇到bug先看报错信息,找到对应的地方进行修改,修改后问题没有解决的话,试着加入一些其他的调试程序,来精确定位bug是出在什么地方,找到了出问题的地方,就等于成功了一半。