文章目录
session存活周期
只要不调用销毁方法, 就一直存在, 通过setAttribute(), 就可以把一些东西存起来, 然后通过getAttribute()使用
Servlet 与 jsp交互(request)
1. 通过setAttribute
//Test.servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
{
request.setAttribute("name","李若然");
request.getRequestDispatcher("show.jsp").forward(request, response);
}
// show.jsp
//文本框显示: 李若然
<input Type="text" name="id" value="${name }">
2. 通过 String type = request.getParameter(“type”);
//login.jsp
<form action="user/userlogin" method="post">
19 <h1>用户登陆页面</h1>
20 <h4>装饰中......</h4>
21 <hr/>
22 <table align="left">
23 <tr>
24 <td>账号:</td>
25 <td><input type="text" name="name" id="name"></td>
26 </tr>
27 <tr>
28 <td>密码:</td>
29 <td><input type="password" name="password" id="password"></td>
30 </tr>
31 <tr>
32 <td colspan="1">
33 </td>
34 <td>
35 <input type="submit" value="登陆"/>
36 <input type="reset" value="重置"/>
37 <a href="register.jsp" target="_blank">注册</a>
38 </td>
39 </tr>
40 </table>
41 </form>
// Servlet界面
package com.bie.servlet;
import java.io.IOException;
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 com.bie.dao.UserDao;
import com.bie.dao.impl.UserDaoImpl;
import com.bie.po.User;
/**
* @author BieHongLi
* @version 创建时间:2017年2月21日 上午10:49:44
*
*/
@WebServlet("/user/userlogin")
public class UserLoginServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
User user=new User();
//获取login.jsp页面提交的账号和密码
String name=request.getParameter("name");
String password=request.getParameter("password");
//测试数据
System.out.println(name+" "+password);
//获取login.jsp页面提交的账号和密码设置到实体类User中
user.setName(name);
user.setPassword(password);
//引入数据交互层
UserDao dao=new UserDaoImpl();
User us=dao.login(user);
//测试返回的值
System.out.println(us);
if(us!=null){
request.setAttribute("info", "登陆成功");
}else{
request.setAttribute("info", "登录失败");
}
request.getRequestDispatcher("/index/info.jsp").forward(request, response);
}
}
下拉框选择
您购买本书的途径:<SELECT NAME="Ways" SIZE="1">
<OPTION name="Ways" value="by bookstore" SELECTED>从书店购买
<OPTION name="Ways" value="online shopping">网上购买
<OPTION name="Ways" value="by rent" >租借期刊
// Servlet里面的用到 选择的代码
String way = request.getParameter("Ways"); //把下拉框里面的内容赋值给 way
Cooike 的使用
1. Eclipse修改jsp文件默认UTF-8编码
window-preferences
背景图片资源文件命名+绝对路径
${pageContext.request.contextPath }
${pageContext.request.contextPath }/BackgroundPicture/timg (2).gif
// jsp添加背景图片
<body background="${pageContext.request.contextPath }/BackgroundPicture/timg (2).gif" style=" background-repeat:no-repeat ;background-size:100% 100%;background-attachment: fixed;">
el 表达式
在jsp中使用el表达式
- 需要导入jar包
- 首行加入这段代码
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
EL表达式使用的坑
在页面用el表示时,应该将第一个字母改为小写
不论你的名字在class 中命名为Name, 用${item.name} 只能首字母小写
不这样的话, 还是依照原来写的话, 就报错
javax.el.PropertyNotFoundException: Property [TryStatus] not found on type [edu.upc.dao.TheTryInfo]