protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String formType = req.getParameter("formType"); req.setCharacterEncoding("UTF-8"); HttpSession session = req.getSession(); if("update".equals(formType)){ String id = req.getParameter("id"); String name = req.getParameter("name"); String sex = req.getParameter("sex"); String phone = req.getParameter("phone"); String relation = req.getParameter("relation"); String userId = req.getParameter("userId"); contactRepository.updateById(id,name,sex,phone,relation,userId); resp.sendRedirect("/contact"); } else if("insert".equals(formType)){ String name = req.getParameter("name"); String sex = req.getParameter("sex"); String phone = req.getParameter("phone"); String relation = req.getParameter("relation"); String userId = req.getParameter("userId"); contactRepository.add(name,sex,phone,relation,userId); resp.sendRedirect("/contact");
时间: 2024-04-16 18:25:22 浏览: 20
这段代码是一个使用Java编写的Servlet的doPost方法,用于处理HTTP POST请求。根据传入的formType参数的不同值,执行不同的操作。
如果formType的值为"update",则表示进行联系人信息的更新操作。代码中获取了id、name、sex、phone、relation和userId等参数,并调用contactRepository.updateById方法来更新联系人信息。更新完成后,通过resp.sendRedirect方法将请求重定向到"/contact"页面。
如果formType的值为"insert",则表示进行联系人信息的插入操作。代码中获取了name、sex、phone、relation和userId等参数,并调用contactRepository.add方法来插入联系人信息。插入完成后,同样通过resp.sendRedirect方法将请求重定向到"/contact"页面。
这段代码假设了一个contactRepository对象用于处理数据库中的联系人信息。具体的数据库操作逻辑不在这段代码中展示,可能需要根据具体情况进行实现。
此外,代码中还设置了字符编码为UTF-8,并获取了当前会话的HttpSession对象。
请注意,这只是代码片段,并不能独立运行,可能还需要其他部分的代码来完善功能。
相关问题
javaweb文件上传下载
JavaWeb 文件上传下载可以通过 Servlet 实现,以下是一个简单的示例:
文件上传:
```java
@WebServlet("/upload")
@MultipartConfig
public class UploadServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Part filePart = req.getPart("file"); // 获取上传的文件
String fileName = filePart.getSubmittedFileName(); // 获取文件名
InputStream fileContent = filePart.getInputStream(); // 获取文件内容
// 将文件保存到本地
Files.copy(fileContent, Paths.get("/path/to/save/" + fileName));
}
}
```
文件下载:
```java
@WebServlet("/download")
public class DownloadServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String fileName = req.getParameter("fileName"); // 获取文件名
String filePath = "/path/to/file/" + fileName;
// 设置响应头
resp.setContentType("application/octet-stream");
resp.setHeader("Content-Disposition", "attachment;filename=" + fileName);
// 将文件内容写入响应输出流
FileInputStream in = new FileInputStream(filePath);
OutputStream out = resp.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
in.close();
}
}
```
在 JSP 页面中,可以使用表单上传文件,并通过链接下载文件:
```jsp
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
<%
// 显示文件列表
File[] files = new File("/path/to/file/").listFiles();
for (File file : files) {
%>
<a href="download?fileName=<%= file.getName() %>"><%= file.getName() %></a><br>
<%
}
%>
```
在idea在使用tomcat创建一创建登录和注册 JSP 页面
首先,需要确保已经在IntelliJ IDEA中安装了Tomcat服务器并配置好了相关的设置。接下来,可以按照以下步骤创建登录和注册JSP页面:
1. 在项目中创建一个名为“WEB-INF”的文件夹,然后在该文件夹下创建名为“jsp”的文件夹。
2. 在“jsp”文件夹下创建两个JSP文件,一个用于登录,另一个用于注册。可以将它们分别命名为“login.jsp”和“register.jsp”。
3. 在登录JSP页面中添加表单,并为表单指定POST方法和action属性。例如:
```html
<form method="post" action="login">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br>
<input type="submit" value="登录">
</form>
```
4. 在注册JSP页面中也添加表单,并为表单指定POST方法和action属性。例如:
```html
<form method="post" action="register">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br>
<label for="confirmPassword">确认密码:</label>
<input type="password" id="confirmPassword" name="confirmPassword"><br>
<input type="submit" value="注册">
</form>
```
5. 在项目中创建一个Servlet,用于处理用户提交的登录和注册请求。例如:
```java
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username");
String password = req.getParameter("password");
// TODO: 处理登录逻辑
}
}
@WebServlet("/register")
public class RegisterServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username");
String password = req.getParameter("password");
String confirmPassword = req.getParameter("confirmPassword");
// TODO: 处理注册逻辑
}
}
```
6. 最后,将Servlet与JSP页面关联起来。可以在JSP页面中使用EL表达式获取Servlet的URL,并将其作为表单的action属性值。例如:
```html
<form method="post" action="${pageContext.request.contextPath}/login">
```
这样就可以在IntelliJ IDEA中创建一个简单的登录和注册功能的Web应用程序了。