servlet
1、我的认识
servlet是一个不一样的java程序,它作为来自web服务器或其他http客户端的请求和http服务器上的数据库或应用程序之间的中间层,按我的理解,servlet便是作为一个中间平台——接受客户端发来的请求并且响应数据给客户端。
2、相应的问题与解决方案
比较离谱的是,我这个电脑tomcat到现在都还没有配置成功,(到目前也没有找到相应的问题呜呜呜)因此这也导致后面有些尝试与探索受到了阻碍,后面的东西很多都是通过视频的观看与他人的成功来学习,后面的代码完成可能就不是很完善了呜呜呜呜o(╥﹏╥)o
3、解决乱码问题
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8");
4、jsp
jsp类似于运行在服务端的语言,比较高大上,但是究其根本,还是之前的servelt,其主要目的是为了实现java web应用程序的用户界面部分。
一大重点:在jsp中编写java代码
<% 代码片段 %> 一般定义变量和编写语句。
<%**! ** 声明代码 %> 可以声明常量,编写方法,编写类
<%= 表达式 %> 表达式被转化成String,然后插入到表达式出现的地方
根据不同的格式编写不同的部分,代码敲的还是不够熟练。(致命)
二大重点:jsp九大内置对象与四大作用域
(本来想法是自己敲一下加深记忆的,但是在csdn内实在是做不出来三列的表格了,最后就ctrl c ctrl v)
善良美丽的小姐姐一定会允许我这样做的是吧,为了这份优美的读书笔记。
整理部分
对于这两节课我做了自己的相应整理。
详细如下
1、servelt 与jsp的区别与联系
区别
1、jsp本质上就是servelt。
2、组成形式不同:servlet 看做是含有HTML的Java程序; JSP 看做是含有Java代码的HTML页面。servlet在java代码中通过httpservletresponse来动态的生成一个html页面 ;jsp是通过吧java代码嵌入到html中去生成一个动态的html页面 。
3、生成周期不同: jsp 需要先解析,然后才翻译成 servlet, 之后具有servlet 相同的生命周期
4、业务方向不同 : servlet擅长擅长于流程控制,数据处理,如读取并检查数据,与数据库通信,调用商业逻辑,等等;JSP擅长表示,即构建HTML来表示请求的结果,视图展示。
(部分参考百度百科 bushi)
联系
通过MVC双剑合璧
既然JSP和Servlet都有自身的适用环境,那么能否扬长避短,让它们发挥各自的优势呢?答案是肯定的——MVC(Model-View-Controller)模式非常适合解决这一问题。
2、知识整理(第一次做,比较丑 别介意)
3、doget()和dopost()的区别
(真不想区别这两个,又臭又长)
不同点一:
通过get方式提交的数据有大小的限制,通常在1024字节左右。也就是说如果提交的数据很大,用get方法就可需要小心;而post方式没有数据大小的限制,理论上传送多少数据都可以。
不同点二:
通过get传递数据,实际上是将传递的数据按照”key,value”的方式跟在URL的后面来达到传送的目的的;而post传递数据是通过http请求的附件(请求体)进行的,在URL中并没有明文显示。本质上有着不同。
不同点三:
通过Get方式提交的数据安全性不高,而Post方式的更加安全~
当然,两者都比较不安全,毕竟是比较老的东西(bushi)
直接通过URL方式发送请求,用doget()方法。
2、表单提交的方式发送请求,方式为“get”就用doget(),“post”就用dopost(),表单默认提交方式是get
3、Ajax发送请求的时候同样会指定用什么方式。
总之用get发送调doget(),用post发送调dopost()
(将姐姐上课讲的内容与网上的视频做了总结)(doge)
系统:(做的不好姐姐见谅哈,学的不是很扎实)
首先是注册页~
<html>
<head>
<title>注册</title>
<script>
var status = '${sessionScope.pwdFail}';//不太懂的,百度教我的
if (status=='yes'){
alert("两次密码输入不一样,请重新输入")
}
</script>
</head>
<body>
<h1>注册</h1>
<form action="${pageContext.request.contextPath}/Register" method="post">
<p>用户名: <input type="text" name="username" required ></p>
<p>密码:<input type="password" name="password1" required></p>
<p>确认密码:<input type="password" name="password2" required></p>
<p>爱好:
<input type="checkbox" name="hobby" value="music">音乐
<input type="checkbox" name="hobby" value="sport">体育
<input type="checkbox" name="hobby" value="movie">电影
</p>
<p>性别:
<input type="radio" name="sex" value="boy">男
<input type="radio" name="sex" value="girl">女
</p>
<p>个人简介:
<textarea name="info"></textarea>
</p>
<p>
<input type="submit">
<input type="reset">
</p>
</form>
</body>
</html>
当你成功注册时(▽)
<html>
<head>
<title>注册成功</title>
<%
HttpSession session1 = request.getSession();
if(session1.getAttribute("username")==null){
request.getRequestDispatcher("loss.jsp").forward(request,response);
}
%>
</head>
<body>
<h1>注册成功!</h1>
<%--通过sessionScope得到信息--%>
<p> 用户名:${sessionScope.username}</p>
<p> 密码:${sessionScope.password1}</p>
<p> 性别:${sessionScope.sex}</p>
<p> 爱好:${sessionScope.hobbies}</p>
<p> 简介:${sessionScope.info}</p>
<a href="${pageContext.request.contextPath}/Out">注销</a>
</body>
</html>
提示部分(✪ω✪)
<html>
<head>
<title>失败</title>
</head>
<body>
<h1>
没有session信息,未注册或者已注销,请先注册
</h1>
<a href="${pageContext.request.contextPath}/register.jsp">注册</a>
</body>
</html>
注销٩(๑❛ᴗ❛๑)۶
HttpSession session = request.getSession();
//注销session或者移除session中的数据
session.removeAttribute("username");
session.removeAttribute("password1");
session.removeAttribute("sex");
session.removeAttribute("hobbies");
session.removeAttribute("info");
response.sendRedirect("success.jsp");
(能力有限呜呜呜呜)
总结:
对于小白来说,每一步都是十分的不容易,看视频,敲代码,找错误,在过程中,度娘永远是你坚实的后盾!希望以后能够熟悉且完善!