JSP环境及其第一个动态网页

来源:互联网 发布:知喻经济发展讲座 编辑:程序博客网 时间:2024/06/05 21:02

环境

tocmat8.5
eclipse
jdk

绑定tomcat服务器

点击window--->Preference--->Server--->Runtime Environment--->Add--->选择Apach Tomat v8.5--->Next--->Finish。

第一个动态网页

1、创建一个web项目
      File--->New--->Dynamic Web Project--->输入项目名--->Target runtime改为8.5--->将Dynamic web module version改为3.0--->Next--->Generate web.xml de...选择--->Next--->Finish这时在WebContent/WEB-INF/下已经自动生成web.xml文件。
2、创建一个类继承servlet类
      选择Java Resource--->src--->New--->Servlet--->输入自定义的包名和类名--->Next--->修改URL mapping(自定义,但必须以”/”开头,例如“/login”)--->Next--->在弹出的Create Servlet框中,只需将Inherited abstract methods和doGet和doPost勾选--->Finish这时就生成了一个自定义Servlet类,可以在d0Get()方法中写入要输出的内容。
完整代码:
package servlets;import java.io.IOException;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 javax.servlet.http.HttpSession;import bean.*;/** * Servlet implementation class LoginServlet */@WebServlet("/login")public class LoginServlet extends HttpServlet {private static final long serialVersionUID = 1L;/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath()).append("<br />");String username = request.getParameter("username");String userpass = request.getParameter("userpass");response.getWriter().append(username).append(request.getContextPath()).append("<br />");response.getWriter().append(userpass).append(request.getContextPath()).append("<br />");UserBean user = new UserBean();boolean b = user.validate(username, userpass);String sult;String forward;if(b) {sult = "tur";}else {sult = "fal";}response.getWriter().append(sult).append(request.getContextPath()).append("<br />");if(b) {HttpSession session = request.getSession(true);session.setAttribute("userid", username);forward = "success.jsp";}else{forward = "failure.jsp";}RequestDispatcher dispatcher = request.getRequestDispatcher(forward);dispatcher.forward(request, response);/**/}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}
3、此时WebContent/WEB-INF/下的web.xml文件也已经自动配置好了。
4、添加其他Java类
     选择Java Resource--->src--->New--->Class--->包名:bean--->类名:UserBean--->finish。
代码实例:
package bean;public class UserBean {private String username;private String userpass;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getUserpass() {return userpass;}public void setUserpass(String userpass) {this.userpass = userpass;}public boolean validate(String username, String userpass) {if(username.equals("zhangsan") && userpass.equals("wangwu"))return true;elsereturn false;}}
5、添加jsp代码(3个文件)
      选择WebContent--->New--->JSP file--->文件名:login.jsp。
login.jsp代码:
<%@ page contentType="text/html; charset=UTF-8"%><script language="JavaScript">function isValidate(form){username = form.username.value;userpass = form.userpass.value;if(!minLength(username, 6)){alert("小于6!");form.username.focus();return false;}if(!maxLength(username, 8)){alert("大于8!");form.username.focus();return false;}if(!minLength(userpass, 6)){alert("口令6!");form.userpass.focus();return false;}if(!maxLength(userpass, 8)){alert("口令8!");form.userpass.focus();return false;}return true;}function minLength(str, length){if(str.length>=length)return true;elsereturn false;}function maxLength(str, length){if(str.length <= length)return true;elsereturn false;}</script><html><head><title>用户登录</title></head><body><h2>用户登录</h2><form name="form1" action="login" method="post" onsubmit="return isValidate(form1)">用户名:<input type="text" name="username"><br />口令:<input type="password" name="userpass"><br /><input type="reset" value="重置"><input type="submit" value="提交"><br /></form></body></html>
success.jsp代码:
<%@ page contentType="text/html; charset=UTF-8"%><html><head><title>登录成功</title></head><body><h2>${sessionScope.userid}hello!</h2></body></html>
failure.jsp代码:
<%@ page contentType="text/html; charset=UTF-8"%><html><head><title>登录失败</title></head><body><h2>用户名或者口令不正确,请<a href="login.jsp">重新登录!</a></h2></body></html>
6、项目部署到tomcat服务器中
点击window--->show view--->servers如下所示
如果已有项目,将项目移除后,右键点击clean,再双击,可以看到如下页面:

选择第二个,use Tomcat installation(takes control of Tomcat installation)再点击Deploy path右边的Browse,选择tomcat目录下的web应用目录,Ctrl+s保存。
7、启动
run--->run as--->run on server;

Next--->选择项目--->Add>--->Finish。
8、浏览器
输入http://localhost:8080/test/login.jsp,用户名:zhangsan,口令:wangwu

中文乱码

response.setCharacterEncoding("UTF-8");
https://www.cnblogs.com/oldinaction/p/5167481.html
http://blog.csdn.net/u010853261/article/details/50603446

其他问题

Several ports (8005, 8080, 8009) required by Tomcat v8.5 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
直接在任务管理器中关闭tomcat。
原创粉丝点击